Bekommen die facebook-Sitzung auf der server-Seite sein, wenn wir login mit JS SDK
Freunde,
Ich habe ein facebook-login für meine website mittels JS SDK.
-
Wenn die Nutzung angemeldet ist durch JS SDK, sollten wir überqueren überprüfen, ob die session gültig ist, in der server-Seite auch als client-Seite kann leicht hergestellt werden.
-
Da ich JS SDK, server haben keinen Zugriff auf die facebook-session.
Wenn ich brauche, um zu überprüfen, die Sitzung auf dem server, kann ich mit der php-sdk adn extern die session, wie es angegeben ist in https://developers.facebook.com/docs/reference/php/ ? In diesem Fall muss ich aktivieren, CURL PHP-Erweiterung diese Ausführung zu erhalten, und besorgt, wenn die Leistung nach unten gehen, wenn mit der php-sdk.
Könnten Sie mir bitte helfen bei der Suche nach Antworten für die oben genannten Fragen?
InformationsquelleAutor der Frage Kiran | 2013-02-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die php-sdk und die javascript-sind das totale Gegenteil, von dem, was Julian H. Lam, sagte, in der Tat, Sie waren zu bauen, um zusammen verwendet werden.
Auf dem php-sdk-Dokumentation Sie finden diese:
Und durch die Verwendung der basic-Logik dies macht Sinn, auf der client-Seite, die Sie erstellen können Listener für das abrufen von Benutzer-status(wenn er eingeloggt ist, wenn er die Berechtigung erteilt, wenn er logout), die diese Art von Aktionen auf der server-Seite macht keinen Sinn.
Also mein Rat für Sie ist die Verwendung von Javascript-SDK zu handhaben Benutzer-Ereignisse, wie die, die ich bereits erwähnt und verarbeiten die Rückmeldungen aus den Aktionen der Benutzer, wie, wenn der Nutzer ein like oder teilt einen Beitrag mit der feed-Dialog, etc.
Mit der php-SDK aus, das Sie überprüfen Sie einfach, wenn Sie einen gültigen Benutzer, denn Sie teilen die gleiche cookie für den client und für den server-Seite, nachdem Sie mit den login-Prozess mit dem javascript SDK, wenn Sie dies tun
$fb_id = $facebook->getUser()
(nach der Initialisierung der PHP-SDK natürlich), erhalten Sie die Benutzer facebook-id, jetzt, dass Sie wissen, Sie haben einen gültigen Benutzer sind, können Sie verwenden die PHP-SDK zur Abfrage von Informationen über den Benutzer, die post, die auf user-Namen, etc.Hier ist ein Beispiel für eine ordnungsgemäße laden des javascript-SDK mit cookie Unterstützung:
- Und dies ist ein einfacher code auf der server-Seite nur zu erleuchten Sie:
PS: das server-side-code, funktioniert nur, wenn der Benutzer bereits gewährten Berechtigungen, die mit dem Umfang E-Mail -
InformationsquelleAutor der Antwort Fabio Antunes
Es gibt zwei Teile zu dieser Frage: Erstens gibt es einen Unterschied in der UI-flow. Siehe: https://developers.facebook.com/docs/concepts/login/login-architecture/
1) Browser-Seite mit JS SDK. Sie beginnen mit oauth 2.0-dialog, um die Zugangs-Token und dann mit diesem Zugriff auf die Facebook-API.
2) Server-Seite verwendet signed_request an den server gesendet. Mit diesem können Sie extrahieren Sie die user_id. Siehe: https://developers.facebook.com/docs/howtos/login/signed-request/ -
Oauth-token von anderen Anbietern integriert werden können, mit FB. Siehe mein Dropbox-Beispiel: apps.facebook.com/fileglu/- circa September 2011, schauen Sie sich auch die technischen Abschnitt für details zur Implementierung, einschließlich CSRF, CORS und die Vermeidung von javascript Kryptographie.
InformationsquelleAutor der Antwort Alvin K.
Die Facebook-javascript-Bibliothek und das php-SDK kann im wesentlichen als zwei Entitäten, die nicht miteinander sprechen, wie man client-seitig und das andere server-seitig.
Die php-SDK gibt Ihnen mehr feinkörnige Kontrolle über ein Benutzer-login-session, während die javascript-Bibliothek ist, den Einstieg zu erleichtern.
Typischerweise ist ein Benutzer angemeldet, die über die javascript-Bibliothek wird nicht automatisch eingeloggt auf der server-Seite, obwohl in einigen Fällen kann es möglich sein, senden Sie das token für den Zugriff von client auf server-Seite. Es ist nicht ratsam, da diese Daten kann abgefangen werden.
In diesem Zusammenhang Frage Gespräche über das senden von Zugriffstoken (wie abgerufen von der JS-Bibliothek) auf der server-Seite.
Im wesentlichen:
InformationsquelleAutor der Antwort Julian H. Lam