Ich verwende parse.coms Android API und habe Facebook / Twitter Login-Unterstützung hinzugefügt. Das funktioniert gut.
Der schwierigste Teil scheint abzumelden zu sein.
Wenn ich mich über Twitter bei meiner App anmelde:
%Vor%Oder mit Facebook:
%Vor%Ich werde in einem Webdialog aufgefordert, meine Twitter-Zugangsdaten einzugeben und den Zugriff auf meine App zu erlauben oder zu verweigern. Sobald ich es zugelassen habe, kann ich mich erfolgreich anmelden und habe Zugriff auf meinen Benutzernamen. Alles ist gut!
Wenn ich versuche, aus von meinem ParseUser zu protokollieren, werde ich abgemeldet. Wenn ich jedoch erneut entweder auf die Facebook- oder Twitter-Anmeldeschaltfläche klicke, werde ich als mein vorheriges Konto vorautorisiert, ich kann nicht zwischen Konten wechseln.
Ich habe es versucht:
Meine Login-Logik hat einfach begonnen:
%Vor%Parse.enableLocalDatastore(this);
in meinem Application
nicht wie hier vorgeschlagen: Ссылка
null
zu setzen
%Code%
%Code%
Verwenden der Facebook SDK Logout-Funktionen:
ParseTwitterUtils.getTwitter().setAuthToken(null);
ParseTwitterUtils.getTwitter().setAuthTokenSecret(null);
AccessToken.setCurrentAccessToken(null);
Früher gab es ein Profile.setCurrentProfile(null);
wie vorgeschlagen hier . Aber Facebook hat die Session-Klasse veraltet und befindet sich nicht mehr im SDK .
Ich würde wirklich alle Antworten oder Vorschläge schätzen. Auch wenn du nur für Twitter oder Facebook antworten kannst, aber nicht für beide, würde ich es trotzdem gerne hören.
In unserer App funktioniert der Login / Logout-Prozess für Facebook, E-Mail und sogar einen eigenen Build-Login. Ich kann dir die Unterschiede sagen, die ich auf den ersten Blick sehe und vielleicht macht einer davon den Trick für dich.
Zunächst arbeiten wir nicht direkt mit der ParseUser
-Instanz in unserem Code, sondern haben eine MyUser
-Klasse, die ParseUser
erweitert.
Die zweite Login-Logik ist in einem Hintergrunddienst gekapselt und wird nicht direkt in unserer Aktivität aufgerufen. Das wird das Problem wahrscheinlich nicht beheben. Aber im Hintergrunddienst wird auch die MyUser
-Instanz zwischengespeichert, bei Bedarf abgerufen und mit dieser Instanz abgemeldet ( MyUser.logOut()
). Und es wird auf null
nach dem Abmelden gesetzt.
Last but not least: Führen Sie die neuesten Versionen des Parse SDK aus?
Tags und Links android authentication facebook twitter parse.com