0

Ich verwende derzeit die $authWithOAuthPopup Methode von AngularFire. Beim Abmelden wird die Firebase-Sitzung beendet, aber das OAuth bleibt bestehen (gemäß der beabsichtigten Funktionalität). link Link Explaining oAuth is separate workflow from app logoutSo fordern Sie neue Benutzerdaten an - Ionic & Firebase

Wenn dies jedoch der Fall ist, wird der $authWithOAuthPopup nicht für einen anderen Benutzer zur Eingabe von Anmeldeinformationen auf neu einloggen können.

Haben die Leute Erfolg bei der Implementierung einer Lösung gefunden, die es jemand anderem erlaubt, sich anzumelden? Wie würde jemand zulassen, dass ein neuer Benutzer neue Anmeldeinformationen eingibt, anstatt die alten Informationen automatisch zu verwenden?

Aktuelles Verhalten: Benutzer abmelden> auf login klicken> App verwendet vorherige FB-Sitzungsinformationen zum Anmelden. Gesuchtes Verhalten: Benutzer abmelden> auf login klicken> Nach Benutzer-FB-Zugangsdaten fragen> Anmeldung.

$scope.logout = function() { 
    delete $localStorage.storageAuth; 
    Auth.$unauth(); 
    $state.go('user.signin'); 
}; 

Thanks :)

+0

Sie müssen den Benutzer von Facebook aus, um dies zu erreichen. Siehe https://groups.google.com/d/msg/firebase-talk/nOQW82_c9sQ/cLfb3-3FAAAJ –

+0

Siehe die Antwort, die ich in den ionischen Foren https://forum.ionicframework.com/t/facebook- logout-with-firebase-ionic-clear-oauth-session-so-neu-user-can-login/54557 –

+0

Frank, so ist das zu sagen, dass alle Cordova Framework-Anwendungen nicht für Benutzer abmelden lassen, und haben eine neue Benutzereingabe? Das scheint so eine unterdurchschnittliche Lösung zu sein ... Ist dir bewusst, wie ich das schaffen könnte, obwohl es ein beschissener Arbeitsfluss wäre? – njho

Antwort

1

ursprüngliche Antwort in ionischer Forum https://forum.ionicframework.com/t/facebook-logout-with-firebase-ionic-clear-oauth-session-so-new-user-can-login/54557/2?u=aaronksaunders

können wir den Login/Auth-Code sehen ... was Sie mit $ localStorage.storageAuth tun Sie sollten wirklich nicht brauche es für Feuerbasis, da es die die Anmeldung des Benutzers Zustand für Sie verwalten ... ich glaube ...

but you can try and clear the cookies/session information 

// _blank loads in background, might need clearsessioncache 
var ref = window.open(url, '_blank', 'location=no,toolbar=no,clearcache=yes'); 

// attach a listener to the window which closes it when complete 
ref.addEventListener('loadstop', function(event) { 
    ref.close(); 
}); 

Siehe Dokumentation https://github.com/apache/cordova-plugin-inappbrowser1

0

Im Namen von Aaron Saunder Kommentar oben, durch die Anwendung Cache zu löschen, sind wir für neue Benutzerinformationen (auf Android API Marsh> 23 mindestens) zu veranlassen können. Ich habe das auf dem iPhone nicht bestätigt.

Während der Entwicklung im Webbrowser zeigt es dieses Verhalten jedoch nicht, also denke ich, dass weitere Tests erforderlich sein werden, um zu sehen, wann dies akzeptabel ist.

Verwendet ngCordova $cordovaInAppBrowser:

$scope.logout = function() { 
    var options = { 
     location: 'yes', 
     clearcache: 'yes', 
     toolbar: 'no', 
     hidden: 'yes' 
    }; 

    $rootScope.$on('$cordovaInAppBrowser:loadstop', function(e, event){ 
     $cordovaInAppBrowser.close(); 
    }); 
    $cordovaInAppBrowser.open('http://www.google.com', '_blank', options); 

    Auth.$unauth(); 
    $state.go('user.signin'); 
}; 
Verwandte Themen