API Seite ist hier: https://developers.facebook.com/docs/javascript/reference/v2.6Ist es möglich, Benutzer aus meiner Web-App zu loggen, aber sie mit Facebook mit Javascript sdk eingeloggt bleiben?
Soweit ich weiß,
Wenn Benutzer haben bereits eine Web-App (eine Website) autorisiert, dann FB.login()
und FB.logout()
in der Web-App Benutzer ist im Wesentlichen Protokollierung Aufruf in oder aus Facebook und geben Sie die Web-App mit einigen Daten (natürlich benötigen Sie Zugriffstoken, um dies zu tun). Angenommen, Sie haben zwei Seiten geöffnet, eine ist Ihre Web-App, die andere ist facebook.com
. Beide haben sich anfangs ausgeloggt. Wenn Sie sich jetzt mit Ihrem Facebook-Konto auf der Web-App-Seite anmelden, und wenn Sie die andere Seite aktualisieren, werden Sie feststellen, dass beide eingeloggt sind. Ähnlich ist es beim Abmelden.
Nun, korrigieren Sie mich, wenn mein Verständnis falsch ist. Ich verstehe völlig, dass es Gründe für die Logik gibt.
Gibt es eine Möglichkeit, Benutzer von der Web-App abzumelden, aber sie mit Facebook angemeldet und ohne die Erlaubnis zu widerrufen?
Ich habe versucht mit Google+ OAuth. Mit der Google+ API können Nutzer aus der Web-App ausgeloggt und mit Google+ angemeldet bleiben.
Dies ist beabsichtigtes Verhalten. Wenn der Nutzer erneut eine App besucht, die er zuvor bereits autorisiert hat und bei Facebook eingeloggt ist, sollte er sich nahtlos in diese App einloggen. Wenn Sie das nicht möchten, können Sie versuchen, das SDK so zu initialisieren, dass es den Anmeldestatus bei der Initialisierung nicht überprüft und dem Benutzer stattdessen eine Schaltfläche zum expliziten Anmelden anbietet. – CBroe
@CBroe Ich verstehe irgendwie, warum es Sinn macht. Aber für meine Situation möchte ich, dass der Benutzer aus der Web-App statt von fb ausgeloggt wird. Ich denke, ein gängiger Weg ist, eine Benutzertabelle der Web-App selbst zu haben. Und binden Sie einen Benutzer an einen FB-Account. – coolgod
Genau, Sie müssen es selbst verfolgen; Auch wenn dies etwas Grundlegendes bedeutet, wie das Speichern ihrer FB UI und des Zugriffs auf das Token in der Sitzung - so dass Sie diese Sitzungsinformationen nur entfernen können, wenn sie sich von Ihrer Site abmelden, aber ihre FB-Anmeldung intakt lassen.(Nebeneffekt wäre, dass ihr Zugriffstoken nicht ungültig wird - wenn also jemand das stehlen möchte, sagen wir via XSS oder so, könnten sie es immer noch so lange verwenden, bis es standardmäßig abläuft.) – CBroe