Facebook login mit OAuth 2.0
- Ich will, dass die Leute anmelden, um meine Website mit Ihren Facebook-Konten.
- Ich brauche, um zu ziehen, ein paar Infos von deren Facebook-Profil und fügen Sie es auf meiner Website-Datenbank
Habe ich versucht, mit dem OAuth 2.0 Verfahren, welches einen redirect auf diese url
https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID
&redirect_uri=YOUR_REDIRECT_URI
&scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
&state=SOME_ARBITRARY_BUT_UNIQUE_STRING
Habe ich erfolgreich authentifiziert die Benutzer aber nun das größte problem entstand. Wie erhalte ich Zugriff auf die Daten, die gesendet wird, als Reaktion, alle, die ich sehen kann, ist ein GET
variable mit dem Namen code
und einigen langen text. Wie konvertiere ich zu brauchbaren Daten?
Ich benutze php für meine website
- Hast du einen Blick in die umfangreiche Dokumentation auf developers.facebook.com? Dort finden Sie ein Beispiel in php für das abrufen von Benutzer-Informationen: developers.facebook.com/docs/reference/php/facebook-api
Du musst angemeldet sein, um einen Kommentar abzugeben.
Austausch der code für eine user access token
Sobald der Benutzer autorisiert hat Ihre app, sollten Sie eine server-side-request-tauschen Sie den code zurückgegeben, die oben für ein user access token.
Den parameter client_secret muss das App-Secret-shows in die app-Einstellungen. Den Körper von der Reaktion auf diese Anforderung wird eine url-kodierte Zeichenkette der form:
Sollten Sie analysieren diese Zeichenfolge und verwenden Sie die access_token-Wert, um Anfragen an die Graph API. Sollten Sie auch beibehalten, das access token in Ihre Datenbank um weitere Anfragen an die API, ohne den Benutzer erneut authentifizieren.
Einmal das access-token Ablauf der Zeit erreicht ist, wird der token wird ungültig und kann nicht mehr verwendet werden, die in den Anfragen an die API. Erhalten Sie ein neues user access token, müssen Sie passieren den Benutzer durch diese Strömung wieder. Wenn der Benutzer jedoch nicht deauthorized Ihre app und Sie Fragen, für die keine Berechtigungen außer denen, die der Benutzer hat bereits eingeräumt, Ihre Anwendung, dann wird kein Dialogfeld angezeigt und der Benutzer werden transparent weitergeleitet, um Ihre redirect_uri mit einem frischen code können ausgetauscht werden-für einen frischen user access token.
Wenn es ein Problem mit dem Austausch der code für eine user access token, den authorization server wird eine HTTP 400-und wieder den Fehler als JSON-Objekt im body des response:
Weitere Referenz checkout http://developers.facebook.com/docs/authentication/server-side/
Anforderungen an die Grafik-API
Mit einem gültigen Benutzer-Zugriffstoken, Sie können Anträge stellen, um Lesen und schreiben von Daten von der Graph API. Eine gemeinsame erste Anforderung wäre, die grundlegende Informationen (einschließlich der id und name) des Benutzers, der nur authentifizierte Ihre app:
Es ist ein offizielle SDK für php von Facebook. Das macht das Leben leichter.
Überprüfen Sie diese Beispiel-code
In OAuth 2.0 mit facebook, das gesamte Konzept ist einfach wie folgt.
Schritt 1. Erhalten Sie "Authorization Code", indem Sie eine GET-Anforderung
Schritt 2. Erhalten Sie "Access Token" durch die Zusendung der auth-code als POST-request
Schritt 3. Das access-token aus habe oben genannten Schritt und abrufen von Benutzer-Ressourcen
Verwenden JSON WEB TOKEN(JWT) decoder, um die Daten, die in der token_id, die Sie erhalten, wenn Sie drucken Sie den Inhalt des GET['code']. In diesem wählen Sie die token_id kopieren Sie es und fügen Sie es in die online-decoder