5

Eine Web-Anwendung unterstützt via Facebook einloggen das JavaScript SDK.Validieren von Facebook-Login auf dem Server

Die Facebook-Authentifizierung geschieht Client-Seite. Nach dem erfolgreichen Aufruf wird FB.getLoginStatus() aufgerufen, und das Authentifizierungstoken und die Benutzer-ID werden an den Server gesendet.

Die Webanwendung speichert die Facebook-Benutzer-ID in ihrer Datenbank.

Woher weiß der Server, dass der Benutzer sich erfolgreich angemeldet hat und dass das Authentifizierungstoken und die Benutzer-ID nicht gefälscht wurden? Gibt es eine Möglichkeit, diese Validierung serverseitig durchzuführen, ohne eine Anfrage an den Server von Facebook zu senden?

+1

Nein, Sie müssen die FB-Server anrufen, um das Zugriffstoken zu validieren. – CBroe

+0

Dank, es ist eine Weile her, seit ich das letzte Mal tat dies - ich scheine es, daran zu erinnern ist etwas, das mit einem gemeinsamen Schlüssel und OAuth kann getan werden, um zu überprüfen, dass die Authentifizierungs-Token gültig ist. –

+0

https://developers.facebook.com/docs/facebook-login/access-tokens/#debug – CBroe

Antwort

1

Gemäß meinem obigen Kommentar können Sie dies tun, indem Sie den Parameter authResponse.signedRequest an den Server weiterleiten und ihn auf dem Server dekodieren/prüfen, ohne eine serverseitige Anfrage an den Server von Facebook senden zu müssen.

+0

Ich verstehe nicht, - Wenn Sie es clientseitig validieren, wie weiß der Server, dass er gültig ist, wenn er ihn empfängt? – markmnl

+0

das war vor einer Weile so kann falsch sein, aber aus dem Speicher: - die Anmeldung geschieht im Browser durch Senden einer Anfrage an Facebook-Server - Facebook-Server gibt authResponse.signedRequest, die nicht vom Browser - Sie unverschlüsselt werden kann authResponse.signedRequest vom Browser an den Server weiterleiten kann, kann Ihr Server unencrypt es es ist gültig zu überprüfen und wird von Facebook unterzeichnet –

Verwandte Themen