Loggen Sie sich aus oder wechseln Sie die Accounts mit Parse Twitter / Facebook Authentication

9

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:

  • Chrome und Browser werden überprüft und keiner ist bei Twitter angemeldet.
  • Abmeldung von der nativen Twitter / Facebook App

Meine Login-Logik hat einfach begonnen:

%Vor%

Für Twitter habe ich es versucht

  • Deinstallieren meiner Anwendung - Das behebt es, ist aber keine ideale Lösung.
  • Aufruf von Parse.enableLocalDatastore(this); in meinem Application nicht wie hier vorgeschlagen: Ссылка
  • Verknüpfung des Twitter-Accounts wie hier vorgeschlagen: Ссылка . Dies hat auch den schlechten Nebeneffekt, dass jedes Mal ein neuer ParseUser erstellt wird (aber immer noch für denselben Twitter-Account)
  • Ich habe versucht, die Berechtigungen von "Read Only" auf "Read and Write" zu ändern, wie hier vorgeschlagen Ссылка . (Warum das wichtig wäre, macht mir sowieso keinen Sinn)
  • Ich habe versucht, das AuthToken auf null zu setzen %Code% %Code%

Für Facebook habe ich es versucht

  • Deinstallieren meiner Anwendung - Dies löst nicht das Problem.
  • 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 .

  • Verknüpfen Sie den Facebook-Account wie hier vorgeschlagen hier . Dies führt wiederum zu doppelten ParseUsers und ich kann mich immer noch mit den gespeicherten Zugangsdaten anmelden.

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.

    
Khalos 05.12.2015, 05:22
quelle

1 Antwort

0

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?

    
Stefan Medack 14.12.2015 09:26
quelle