Zugriffsschlüssel in Facebook Login für das Web

Am Ende des Anmeldeprozesses wird ein Zugriffsschlüssel erstellt. Dieser Zugriffsschlüssel wird zusammen bei jedem API-Aufruf übergeben und dient als Nachweis darüber, dass der Aufruf von einer bestimmten Person über eine bestimmte App getätigt wurde.

Das Facebook SDK für Javascript übernimmt automatisch das Speichern und Nachverfolgen von Login-Status im Browser, sodass du dich nicht um das Speichern von Zugriffsschlüsseln im Browser kümmern musst.

Eine gängige Vorgehensweise besteht jedoch darin, den Zugriffsschlüssel an einen Server zurückzugeben und dieser nimmt dann Aufrufe im Namen einer Person vor. Um den Schlüssel vom Browser zu erhalten, kannst du das response-Objekt verwenden, das über FB.getLoginStatus() zurückgegeben wird:

FB.getLoginStatus(function(response) {
  if (response.status === 'connected') {
    console.log(response.authResponse.accessToken);
  }
});

Der Schlüssel ist ein verdeckter String mit einer variablen Länge.

Beachte dass Zugriffsschlüssel, die in Browsern erstellt werden in der Regel eine Gültigkeit von nur wenigen Stunden haben automatisch durch das JavaScript SDK aktualisiert werden. Wenn du Aufrufe über einen Server vornimmst, musst du einen dauerhaft gültigen Schlüssel erstellen, dessen Länge den Vorgaben in unserer Dokumentation zu Zugriffsschlüsseln entspricht.

Zugriffsschlüssel erneut bestätigen

Apps müssen normalerweise sichergehen, dass die Antwort in einem Login-Dialog von derselben Person stammt, die ihn gestartet hat. Wenn du das JavaScript SDK von Facebook verwendest, führt es diese Überprüfungen automatisch aus, sodass keine weiteren Aktionen erforderlich sind, vorausgesetzt du nimmst nur Aufrufe über den Browser vor.

Wenn du den Zugriffsschlüssel zurück an den Server sendest, stelle sicher, dass du ihn erneut bestätigst, sobald er auf dem Server ankommt. Informationen zur erneuten Bestätigung des Schlüssels findest du in unserer Dokumentation zum manuellen Erstellen von Login-Prozessen. Überprüfe, dass app_id und user_id mit dem übereinstimmen, was du vom Debugging-Endpunkt des Zugriffsschlüssels erwartet hast.

API-Aufrufe durchführen

An diesem Punkt des Prozesses ist die Person authentifiziert und angemeldet. Deine App kann nun im Browser API-Aufrufe im Namen der Person durchführen. Im Browser kannst du dies am einfachsten mit dem FB.api()-Aufruf tun. FB.api() fügt automatisch den Zugriffsschlüssel zu dem Aufruf hinzu.

Dieser Code:

FB.api('/me', function(response) {
    console.log(JSON.stringify(response));
});

gibt einen Array mit der ID und dem Namen zurück:

{
  "id":"101540562372987329832845483",
  "name":"Bob Smith"
}

Wenn du serverseitige Aufrufe mit dem Zugriffsschlüssel durchführst, kannst du ein SDK auf dem Server verwenden, um ähnliche Aufrufe durchzuführen. Viele Menschen verwenden PHP, um Webanwendungen zu erstellen. Beispiele für das Durchführen von serverseitigen API-Aufrufen findest du in unserer Dokumentation zum PHP SDK.

Erkennen, wenn Personen Apps deinstallieren

Menschen können Apps über Facebook.com deinstallieren, ohne dabei mit der App selbst in Berührung zu kommen. Damit Apps dies leichter erkennen können, ermöglichen wir den Einsatz einer Rückruf-URL für das Zurücknehmen einer Autorisierung, die angepingt wird, wenn dieser Fall eintritt.

Einen Rückruf für das Zurücknehmen einer Autorisierung kannst du im App-Dashboard aktivieren.