2016-10-11 3 views
1

Ich verbinde Auth0's Lock als Teil des Login-Prozesses meiner App, um mit der Web-Implementierung von Auth0 Login beizutreten.Android Auth0 Sperre Cache löschen

Ich folgte den Anweisungen in der README.md der Lock (Android) Repository und ich kann mit Google ohne Probleme einloggen.

Das Problem, mit dem ich konfrontiert bin, ist, dass ich nicht zu Auth0 oder der Sperre anzeigen kann, dass ich meinen Benutzer angemeldet habe, also werde ich nie wieder aufgefordert, zu wählen, welches Konto ich als anmelden möchte -Anmeldung. Ich speichere derzeit meine Sitzungsinformationen in SharedPreferences und meine aktuelle Abmeldungsprozedur ist, diese Daten zu löschen. Ich kann zurück zur Benutzeroberfläche des Anmeldebildschirms navigieren, aber sobald ich auf das Google-Symbol klicke, um mich über Google anzumelden, authentifiziert sich Auth0 gegen meinen zuvor angemeldeten Benutzer, ohne dass ich aufgefordert werde, meine Zugangsdaten einzugeben.

Gibt es eine offizielle Möglichkeit, den Cache mit Auth0 Lock zu löschen?

Antwort

0

Ich würde Ihnen empfehlen, die Android Quickstart Anleitung zu folgen, genauer gesagt, den Teil über session handling, wo es eine mögliche Art der Aufrechterhaltung einer Benutzersitzung nach dem Login beschreibt.

Der letzte Abschnitt des Abschnitts zur Sitzungsbehandlung beschäftigt sich mit dem Abmelden. Die mitgelieferte Beispielcode ist die folgende:

private void logout() { 
    // Clear credentials (depends on how you store them in the first place) 
    setUserCredentials(null); 

    // Navigate to Lock login screen 
    startActivity(new Intent(this, LoginActivity.class)); 
} 

im Sinn haben, dass die setUserCredentials ist spezifisch auf die jeweilige Probe, die allgemeine Idee wäre, dass Sie uns die empfangene Token irgendwo speichern und dann dem Benutzer die Möglichkeit bieten, um sich abzumelden , die die Bereinigung der Token und die Umleitung zum Anmeldebildschirm auslöst.

+0

Ich folgte dem Quickstart-Handbuch und lud das von Ihnen beschriebene Beispiel herunter. Das Problem, das ich fand, war, dass der 'setUserCredentials (null);' - Methodenaufruf an die 'CredentialsManager'-Klasse nur die Anmeldeinformationen aus den 'SharedPreferences' der App löscht. Es schien nicht, dass entweder die Bibliotheken Auth0 oder Lock diese freigegebenen Einstellungen referenzierten. Auch wenn ich die Zugangsdaten in der von Ihnen vorgeschlagenen Weise gelöscht habe, war ich immer noch nicht in der Lage, das Google I-Konto auszuwählen, mit dem ich mich beim nächsten Login anmelden wollte. – adamacdo

+0

Ich habe nicht genügend Kenntnisse über das Android SDK, um etwas anderes als Vermutungen bereitzustellen, aber in Ihrem Update haben Sie erwähnt, dass Sie zum Anmeldebildschirm gelangen, aber nach der Auswahl von Google werden Sie automatisch eingeloggt Dies ist möglicherweise Google-spezifisch, denn wenn Sie Google Social Login auswählen, delegiert Lock die Authentifizierung nur an Google. Versuchen Sie, eine andere Art der Authentifizierung (Benutzername/Passwort) nur für die Fehlersuche zu verwenden. –

+0

João Angelo, wir haben kein Benutzername/Passwort-Authentifizierungs-Setup ohne Konto, wir verwenden nur soziale Logins. Nachdem dies gesagt wurde, habe ich versucht, mich mit einem FB-Konto anstelle eines Google-Kontos anzumelden und sah das gleiche Problem. Ich konnte den Webview-Cache löschen, der die Cookies für Webviews innerhalb der App löschte, und das half auf Lollipop + -Geräten, aber ich habe ein Gerät, auf dem KitKat läuft, das nach dem Einloggen niemals die Möglichkeit bietet, sich mit einem anderen Konto anzumelden oder überprüfen Sie die Anmeldeinformationen für dieses Konto. Beim Einloggen loggt es sich einfach automatisch ein. – adamacdo