Authentifizierung im Vergleich zu Datenzugriff

Facebook Login bietet zwei wichtige Vorteile: Authentifizierung und Datenzugriff. Diese schließen sich nicht gegenseitig aus. Du kannst mit Facebook Login Menschen authentifizieren, ohne auf ihre Daten zugreifen zu wollen. In diesem Fall musst du keine Berechtigungen anfordern oder für deine App die App Review durchführen.

Authentifizierung und Datenzugriff sind jeweils zeitlich begrenzt. Die Ablaufzeiträume für Authentifizierung und Datenzugriff unterscheiden sich jedoch und sind von verschiedenen Faktoren abhängig.

Authentifizierung

Mit der Authentifizierung können sich Menschen an deiner mobilen oder webbasierten App anmelden und mit ihren Facebook-Anmeldedaten ein Konto erstellen. Sie müssen sich kein zusätzliches Passwort merken.

Authentifizierungsablauf

Wenn deine App Menschen mit Facebook Login authentifiziert, erhält sie einen Nutzer*innen-Zugriffsschlüssel. Wenn deine App eines der Facebook-SDKs nutzt, ist dieser Schlüssel 60 Tage lang gültig. Die SDKs aktualisieren den Schlüssel jedoch automatisch, wenn die Person deine App nutzt. Die Schlüssel laufen also 60 Tage nach der letzten Nutzung ab. Verwendet deine App keine Facebook-SDKs, musst du Code einfügen, damit der Nutzer*innenschlüssel manuell aktualisiert wird. Ist der Nutzer*innenschlüssel abgelaufen, muss deine App den*die Nutzer*in erneut durch den Login-Vorgang leiten.

Datenzugriff

Facebook Login ermöglicht es dir auch, Berechtigungen anzufordern, wenn sich Menschen an deiner App anmelden. Diese Berechtigungen geben deiner App Zugriff auf Benutzer*innendaten, wenn sie von dem*der Benutzer*in erteilt werden. So kann deine App beispielsweise auf den Namen und das Profilbild eines*einer Benutzer*in zugreifen.

Wenn eine App Berechtigungen anfordert, muss die App häufig eine App Review durchlaufen, damit Facebook einen Missbrauch dieser Daten verhindern kann. Deine App kann Namen und Foto (das Standardprofilfeld) und E-Mail-Adresse abfragen, ohne die App Review zu durchlaufen. Für alle anderen Berechtigungen ist eine Prüfung notwendig. Eine Liste der Berechtigungen sowie die Berechtigungen, die eine App Review erfordern, findest du unter Berechtigungsreferenz.

Ablauf des Datenzugriffs

Der Datenzugriff läuft nach einem Zeitraum von 90 Tagen ab. Dabei wird der letzte Benutzer*innenzugriff zugrunde gelegt. Nach Ablauf dieses 90-Tages-Zeitraums kann der*die Benutzer*in weiterhin auf deine App zugreifen. Er*sie wird weiterhin authentifiziert. Die App kann jedoch nicht mehr auf die Benutzer*innendaten zugreifen. Um wieder Datenzugriff zu erhalten, muss deine App von dem*der Benutzer*in die erneute Autorisierung der Berechtigungen deiner App anfordern.

Wenn du beim Facebook SDK für Android oder beim Facebook SDK für iOS eine erneute Autorisierung anfordern möchtest, rufe reauthorizeDataAccess() im LoginManager auf.

Verwende mit dem Facebook-SDK für JavaScript auth_type: 'reauthorize'.

FB.login(function(response) {
  // Original FB.login code
}, { auth_type: 'reauthorize' })

Rufe für das Web mit auth_type=reauthorize auf.

Die folgenden Berechtigungen laufen nicht ab:

  • ads_read
  • ads_management
  • business_management
  • configure_page_transactions
  • pages_manage_ads
  • pages_manage_cta
  • pages_manage_instant_articles

  • pages_manage_engagement

  • pages_manage_metadata
  • pages_manage_posts
  • pages_messaging
  • pages_read_engagement
  • pages_read_user_content
  • pages_show_list
  • read_audience_network_insights
  • read_insights

Testen, wann der Zugriff auf Benutzer*innendaten abläuft

Mit den Android- und iOS-SDKs kannst du abfragen, wann der Zugriff deiner App auf Benutzer*innendaten abläuft, indem du dataAccessExpirationTime für das Zugriffsschlüsselobjekt aufrufst. Diese Methode gibt ein Datum zurück, zu dem der Datenzugriff abläuft.

Du kannst auch testen, ob der Zugriff auf Benutzer*innendaten abgelaufen ist. Rufe hierzu isDataAccessExpired auf. Du erhältst einen booleschen Wert.

Serverseitig kannst du diese Informationen vom debug_token-Endpunkt abrufen.

Im Web kannst du die Ablaufzeit im payload: data_access_expiration_time sehen.

{
  status: 'connected',
  authResponse: {
    accessToken: '...',
    expiresIn:'...',
    reauthorize_required_in:'...',
    data_access_expiration_time: '...',
    signedRequest:'...',
    userID:'...'
  }
}

Berechtigungsablauf

Unabhängig davon, wann der*die Benutzer*in zuletzt aktiv war, läuft diese Berechtigung ab, wenn deine App 90 Tage keine Berechtigung verwendet. Dies ist auch dann der Fall, wenn die Berechtigung beim App Review genehmigt wurde.