Meine aktuelle User Story ist, dass user1 bei meiner Website und Facebook angemeldet ist (diese Konten sind verbunden usw.).
Benutzer1 meldet sich von meiner Website ab, aber nicht von Facebook.
Nachdem sich user2 bei seinem Konto angemeldet hat, wird die linke Sitzung von user1 mit der Interaktion von user2 mit meiner Seite und dem, für den sie posten, verschraubt.
Um dies zu beheben, habe ich überprüft, ob der eingeloggte Benutzer tatsächlich das Facebook-Konto besitzt (dies würde dazu führen, dass Facebook abmeldet usw.) und es zeigt einen Link, der dem Benutzer erlauben sollte, sich einzuloggen aus ...
Nach dem Klicken auf den Link gehen sie zu Facebook und kehren auf die Seite zurück. Aber wenn Sie einen neuen Tab öffnen und zu Facebook gehen, ist User1 immer noch angemeldet.
Wie kann ich diesen Link zur Arbeit bekommen? Was ist los? Ist das ein Fehler mit der API oder was? ...
Edit: Ich habe mit value user ids loading und mit gültigen access tokens weitergetestet, aber ich muss noch den Logout Link zum funktionieren bringen.
Ein bisschen spät, aber hier geht mein Beitrag:
Verwenden Sie die Parameter beim Generieren der Abmelde-URL, dort wird auf eine Seite umgeleitet, auf der Sie die Sitzung mithilfe der Facebook-API-Funktion zerstören.
Hier ein Beispiel:
%Vor%Im page4logout können Sie das facebook-Objekt instanzieren und folgendes ausführen:
%Vor%Danach können Sie eine Umleitung machen.
Ein bisschen spät, aber hier geht mein Beitrag:
Verwenden Sie die Parameter beim Generieren der Abmelde-URL, dort wird auf eine Seite umgeleitet, auf der Sie die Sitzung mithilfe der Facebook-API-Funktion zerstören.
Hier ein Beispiel:
%Vor%Im page4logout können Sie das facebook-Objekt instanzieren und folgendes ausführen:
%Vor%Danach können Sie eine Umleitung machen.
Meine aktuelle User Story ist, dass user1 bei meiner Website und Facebook angemeldet ist (diese Konten sind verbunden usw.).
Benutzer1 meldet sich von meiner Website ab, aber nicht von Facebook.
Nachdem sich user2 bei seinem Konto angemeldet hat, wird die linke Sitzung von user1 mit der Interaktion von user2 mit meiner Seite und dem, für den sie posten, verschraubt.
Um dies zu beheben, habe ich überprüft, ob der eingeloggte Benutzer tatsächlich das Facebook-Konto besitzt (dies würde dazu führen, dass Facebook abmeldet usw.) und es zeigt einen Link, der dem Benutzer erlauben sollte, sich einzuloggen aus ...
Nach dem Klicken auf den Link gehen sie zu Facebook und kehren auf die Seite zurück. Aber wenn Sie einen neuen Tab öffnen und zu Facebook gehen, ist User1 immer noch angemeldet.
Wie kann ich diesen Link zur Arbeit bekommen? Was ist los? Ist das ein Fehler mit der API oder was? ...
Edit: Ich habe mit value user ids loading und mit gültigen access tokens weitergetestet, aber ich muss noch den Logout Link zum funktionieren bringen.
Eine Möglichkeit, dies zu überprüfen, besteht darin, das PHP SDK und das JavaScript SDK zusammen zu verwenden.
Wenn der Benutzer Ihre Site besucht, rufen Sie FB.getLoginStatus () auf und überprüfen Sie, ob %code% mit dem übereinstimmt, was das PHP SDK in %code% zurückgibt (Sie können dies über einen AJAX-Aufruf tun, wenn es hilft).
Sie wissen, dass, wenn die Benutzer-ID nicht übereinstimmt, etwas falsch ist. Der Aufruf von $ facebook- & gt; getLogoutUrl () sollte den Benutzer sowohl von Ihrer Website als auch von Facebook aus protokollieren. Wenn dies nicht der Fall ist, versuchen Sie% code% in Ihrem Code zu verwenden, um die Sitzungen zu löschen. Leiten Sie dann den Benutzer zurück zu $ facebook- & gt; getLoginUrl () und lassen Sie ihn erneut anmelden. Dadurch wird die falsche Übereinstimmung in der Benutzer-ID korrigiert und Sie können den Vorgang wiederholen, wenn Sie auf Ihre Website zurückkehren.
Ich habe gesehen, dass dies bei anderen Apps passiert ist, was mich zu der Annahme verleitet, dass dies ein Facebook-Problem ist. Das JavaScript SDK scheint nicht zu prüfen, ob das Cookie noch gültig ist (falls es bereits existiert).
Löschen Sie den Facebook-Cookie und die Sitzung manuell. Hier ist meine Lösung, wie ich das Problem vor einiger Zeit gelöst habe, es ist ein Bug von Facebook:
%Vor%$ this- & gt; getAppID ist deine Facebook App ID, sollte klar sein; o)
Eine Möglichkeit, dies zu überprüfen, besteht darin, das PHP SDK und das JavaScript SDK zusammen zu verwenden.
Wenn der Benutzer Ihre Site besucht, rufen Sie FB.getLoginStatus () auf und überprüfen Sie, ob authResponse.userID
mit dem übereinstimmt, was das PHP SDK in $facebook->getUser();
zurückgibt (Sie können dies über einen AJAX-Aufruf tun, wenn es hilft).
Sie wissen, dass, wenn die Benutzer-ID nicht übereinstimmt, etwas falsch ist. Der Aufruf von $ facebook- & gt; getLogoutUrl () sollte den Benutzer sowohl von Ihrer Website als auch von Facebook aus protokollieren. Wenn dies nicht der Fall ist, versuchen Sie% code% in Ihrem Code zu verwenden, um die Sitzungen zu löschen. Leiten Sie dann den Benutzer zurück zu $ facebook- & gt; getLoginUrl () und lassen Sie ihn erneut anmelden. Dadurch wird die falsche Übereinstimmung in der Benutzer-ID korrigiert und Sie können den Vorgang wiederholen, wenn Sie auf Ihre Website zurückkehren.
Ich habe gesehen, dass dies bei anderen Apps passiert ist, was mich zu der Annahme verleitet, dass dies ein Facebook-Problem ist. Das JavaScript SDK scheint nicht zu prüfen, ob das Cookie noch gültig ist (falls es bereits existiert).
Tags und Links php session facebook logout facebook-authentication