Facebook Login for Business ist die bevorzugte Authentifizierungs- und Autorisierungslösung für Tech-Anbieter*innen und Entwickler*innen von Business-Apps, die Zugriff auf die Assets ihrer Geschäftskund*innen benötigen. Es stellt eine Alternative zu Facebook Login dar. Wenn du kein*e Tech-Anbieter*in bist oder keine Business-App zur Nutzung durch andere Unternehmen erstellst, verwende als Authentifizierungslösung stattdessen Facebook Login.
Im Gegensatz zu Facebook Login gestattet dir Facebook Login for Business, den Typ des Zugriffsschlüssels, die Asset-Typen sowie die Berechtigungen anzugeben, die deine App benötigt, und diese als Satz (Konfiguration) zu speichern. Du kannst diesen Satz dann deinen Geschäftskund*innen anzeigen lassen, die den Vorgang abschließen und deiner App Zugriff auf ihre Business-Assets gewähren können. Ein Unternehmen kann dir damit keine Berechtigung für bestimmte Informationskategorien gewähren, die typischerweise für eine Business-App nicht erforderlich sind. Du hast die Wahl zwischen verschiedenen Zugriffsschlüsseln, basierend auf den Anforderungen deiner App.
Die meisten Apps, die auf Nutzungsdaten zugreifen können, werden einer fortlaufenden Überprüfung unterzogen. Wenn eine App jedoch ausschließlich Unternehmensberechtigungen/-funktionen benötigt, bist du möglicherweise berechtigt, Facebook Login for Business zu installieren. Somit ist es für deine App weniger notwendig, die fortlaufende Überprüfung zu durchlaufen.
Du kannst von deinen Geschäftskund*innen die folgenden Berechtigungen anfordern. Beachte, dass dein*e Geschäftskund*in bei Facebook Login for Business anders als bei Facebook Loginalle Berechtigungen gewähren muss, die du in deiner Konfiguration angibst.
Die Berechtigungen email
und public_profile
-werden automatisch allen Apps erteilt. Sie müssen jedoch mit mindestens einer weiteren unterstützten Berechtigung für jede App-Installation verwendet werden.
Die public_profile
-Berechtigung wird automatisch allen Apps gewährt, jedoch wird sie nicht im Parameter scope
zurückgegeben, es sei denn, mindestens eine andere unterstützte Berechtigung (außer email
) wird von einem*einer App-Nutzer*in gewährt.
Verfügbare Berechtigungen | Nutzer*innen-Zugriffsschlüssel | Business-Integration-Systemnutzer-Zugriffsschlüssel |
---|---|---|
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
commerce_account_manage_orders | ✓ | ✓ |
commerce_account_read_orders | ✓ | ✓ |
commerce_account_read_reports | ✓ | ✓ |
commerce_account_read_settings | ✓ | ✓ |
commerce_manage_accounts | ✓ | ✓ |
email * | ✓ | n. z. |
✓ | ✓ | |
instagram_content_publish | ✓ | ✓ |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
instagram_shopping_tag_products | ✓ | ✓ |
✓ | ✓ | |
manage_fundraisers | ✓ | ✓ |
✓ | ✓ | |
page_events | ✓ | ✓ |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
✓ | ✓ | |
private_computation_access | ✓ | ✓ |
✓ | n. z. | |
✓ | ✓ | |
✓ | ✓ | |
read_audience_network_insights | ✓ | ✓ |
✓ | ✓ | |
✓ | ✓ |
Mithilfe von Facebook Login for Business kannst du entweder Business-Integration-Systemnutzer-Zugriffsschlüssel oder Nutzungs-Zugriffsschlüssel abrufen. Beachte, dass deine aktuellen Zugriffsschlüssel nicht vom Wechsel zu Facebook Login for Business betroffen sind.
Business-Integration-Systemnutzer-Zugriffsschlüssel werden von Facebook Login for Business erzeugt und sollten verwendet werden, wenn deine App programmgesteuerte, automatisierte Aktionen für die Anzeigenobjekte oder Seiten deiner Geschäftskund*innen durchführt, ohne auf die Eingabe eines*einer App-Nutzer*in angewiesen zu sein oder eine erneute Authentifizierung zu einem späteren Zeitpunkt zu erfordern. Zum Beispiel:
So erhältst du Business-Integration-Systemnutzer-Zugriffsschlüssel von deinen Geschäftskund*innen:
Um den Vorgang rund um den Business-Integration-Systemnutzer-Zugriffsschlüssel zu testen, muss der Tester eine Rolle in der App innehaben.
Normaler Systemnutzer | Business-Integration-Systemnutzer | |
---|---|---|
Repräsentation | Stellt Server oder Softwareelemente dar, die API-Aufrufe an Assets senden, die einem Business Manager gehören oder von ihm verwaltet werden. | Teil der Integrationsinfrastruktur des Tech-Anbieters und wird vom Kundenunternehmen durch die Installation der App des Tech-Anbieters initialisiert. |
Zugriff | Nur Business-Nutzer innerhalb desselben Unternehmens erhalten Zugriff. | Nur Technologie-Anbieter erhalten Zugriff. |
Ungültigmachung des Schlüssels | Nicht zutreffend. | Zugriffsschlüssel können nicht über den Tab „Systemnutzer“ im Business Manager ungültig gemacht werden. Stattdessen müssen Unternehmenskunden zum Tab „Business Manager“ > „Unternehmenseinstellungen“ > „Integrationen“ > „Verknüpfte Apps“ gehen und auf den Button „App entfernen“ klicken, um die App zu deinstallieren, wodurch die Schlüssel ungültig gemacht werden. |
Für bestimmte Tech-Anbieter stehen mehrere granulare Business-Integration-Systemnutzer-Zugriffsschlüssel pro Kundenunternehmen zur Verfügung, um die Skalierbarkeit/Sicherheit des Betriebs zu verbessern. Dies betrifft in der Regel größere Organisationen, die ggf. unterschiedliche Zugriffskonfigurationen für unterschiedliche Zwecke oder Abteilungen benötigen, statt den einen Business-Integration-Systemnutzer-Zugriffsschlüssel pro Kundenunternehmen zu nutzen.
Mit diesem Endpunkt können Entwickler*innen ihre vorhandenen Systemnutzer-Zugriffsschlüssel wie folgt verwalten:
Objekt | Beschreibung |
---|---|
Int | Dieser Parameter ist erforderlich. Wenn ein*e Endnutzer*in eine App über den entsprechenden Vorgang von Facebook Login for Business installiert, wobei am Ende ein Systemnutzer-Zugriffsschlüssel erzeugt wird, gehört dieser Zugriffsschlüssel zum Scope des von dem*der Kund*in gewählten Unternehmens. |
String | Dieser Parameter ist erforderlich. Da dies eine API für die Zugriffsschlüsselverwaltung ist, benötigen wir |
String | Dieser Parameter ist erforderlich.
|
Int | Optional.
|
Bool | Optional.
|
Int | Optional. Wenn du einen granulareren Zugriffsschlüssel erzeugen möchtest, kannst du eine Liste von kommagetrennten |
Bool | Optional. Wenn du einen granulareren Zugriffsschlüssel erzeugen möchtest, kannst du eine Liste von kommagetrennten |
Bool | Optional. Wenn du einen neuen Zugriffsschlüssel erzeugen möchtest, kannst du den Zugriffsschlüssel in 60 Tagen ablaufen lassen. |
curl -i -X POST \ 'https://graph.intern.facebook.com/v17.0/2738613836382965/system_user_access_tokens?appsecret_proof=<app_secret_proof_sanitized>& access_token=<access token sanitized>& system_user_id={system_user_id}& fetch_only=true'
{ "access_token": "{access_token}" }
Wenn deine App in Echtzeit Aktionen ausführt, die auf den Eingaben des*der Nutzer*in basieren, sollten Nutzer*innen-Zugriffsschlüssel verwendet werden. Verwende z. B. einen Nutzer*innen-Zugriffsschlüssel, wenn ein*e Nutzer*in in deiner App Text eingeben und auf einen Button klicken muss, um Inhalte auf seiner*ihrer Seite zu posten. Außerdem sollten Nutzer*innen-Zugriffsschlüssel verwendet werden, wenn du eine API vorschreibst, für die Admin-Berechtigungen in einem Meta-Unternehmenskonto erforderlich sind.
Systemnutzer-Zugriffsschlüssel | Nutzer*innen-Zugriffsschlüssel | |
---|---|---|
Kontoverknüpfung | Ist mit dem Unternehmenskonto deines*deiner Geschäftskund*in verknüpft und nicht mit einem*einer bestimmten Nutzer*in. Jede*r Administrator*in in der Administrator*innen-Gruppe deines*deiner Geschäftskund*in kann deiner App einen Systemnutzer-Zugriffsschlüssel gewähren. | Ist mit dem persönlichen Konto deines*deiner App-Nutzer*in verknüpft. |
Art der OAuth-Gewährung | Nur Autorisierungscode. | Standardmäßig implizit. Wird hauptsächlich für User-Agent-basierte Clients wie Webbrowser und mobile Apps verwendet. |
Ablauf und Aktualisierung | Läuft bei der gängigen Offline-Kommunikation von Server zu Server niemals ab. | Ein kurzlebiger Zugriffsschlüssel für Online-Aktivitäten wie Webbrowser. |
Zugriffszuweisung | Der Zugriff wird zum Zeitpunkt der Autorisierung ausdrücklich delegiert. Deine App kann nur auf die Assets zugreifen, die von deinem*deiner Geschäftskund*in beim Abschluss des Facebook Login for Business-Vorgangs angegeben wurden. | Der Zugriff wird vom aktuellen Konto deines*deiner App-Nutzer*in übernommen. Du kannst auf die gleichen Business-Assets zugreifen, auf die der*die App-Nutzer*in derzeit Zugriff hat. |
Deine Geschäftskund*innen können Business-Integration-Systemnutzer-Zugriffsschlüssel ungültig machen, indem sie zu Business Manager > Einstellungen > Unternehmenseinstellungen > Integrationen > Verknüpfte Apps navigieren und deine App entfernen.
Zum Ungültigmachen von Nutzungs-Zugriffsschlüsseln können deine Geschäftskund*innen die App entfernen, indem sie zu Facebook und dann zu Einstellungen und Privatsphäre > Einstellungen > Sicherheit und Login > Business-Integrationen navigieren und deine App entfernen.
Um Facebook Login for Business zu testen, musst du zunächst eine Test-App des Business-Typs erstellen, bei der Facebook Login for Business automatisch installiert wird.
Eine Konfiguration ist eine Gruppierung von Token-Typ, Business-Assets und Berechtigungen, die deine App von Geschäftskund*innen benötigt. Diese Gruppierung wird Nutzer*innen im Rahmen des Authentifizierungs- und Autorisierungsablaufs angezeigt, wenn sie die App installieren. Du kannst mehrere Konfigurationen erstellen und sie je nach den Anforderungen deiner App verschiedenen Gruppen von Benutzer*innen anzeigen. Zur Erstellung einer Konfiguration musst du Folgendes tun:
Durch das Erstellen einer Konfiguration wird eine Konfigurations-ID erzeugt, die du dann mit unseren SDKs (oder manuell) verwenden kannst.
WhatsApp Embedded Signup ist nur für Anbieter von Unternehmenslösungen (BSP) zugänglich.
whatsapp_business_management
und whatsapp_business_messaging
. Der Vorgang ist nur für die Nutzung der Instagram Graph API optimiert.
Du kannst den Login-Dialog von Facebook Login for Business mit unseren SDKs aufrufen oder du kannst den Login-Dialog aufrufen, indem du den Login-Flow manuell erstellst.
Du kannst jedes unserer SDKs verwenden, um den Login-Dialog aufzurufen, indem du die Liste der Bereiche (Berechtigungen), die deine App benötigt, durch deine Konfigurations-ID und den erforderlichen OAuth-Gewährungstyp des Zugriffsschlüssels ersetzt.
Wenn du unsere SDKs noch nicht kennst, empfehlen wir dir, zuerst das JavaScript-SDK zu installieren und es mit dem Facebook Login-Produkt für Verbraucher*innen zum Laufen zu bringen, bevor du fortfährst, da die folgenden Beispiele auf das SDK verweisen.
Hier ein Beispiel für die Methode FB.login()
des JavaScript-SDK, die so geändert wurde, dass sie eine Konfiguration für einen Systemnutzer-Zugriffsschlüssel verwendet. Beachte, dass scope
(sollte nicht verwendet werden) durch config_id
ersetzt wurde und dass der response_type
auf code
festgelegt wurde, da SUATs den Gewährungstyp „Autorisierungscode“ erfordern, und dass override_default_response_type
auf true
festgelegt werden muss. Sollte dies zutreffen, haben sämtliche von response_type
übergebenen Antworttypen Vorrang vor den Standardtypen.
FB.login( function(response) [ console.log(response); ], [ config_id: '<CONFIG_ID>', response_type: 'code', override_default_response_type: true ] );
Wenn der*die Nutzer*in den Login-Dialog-Ablauf abschließt, leiten wir den*die Nutzer*in zu deiner Weiterleitungs-URL weiter und schließen einen Code ein. Du musst diesen Code dann gegen einen Zugriffsschlüssel austauschen, indem du einen Server-zu-Server-Aufruf bei unseren Servern durchführst.
GET https://graph.facebook.com/v19.0
/oauth/access_token?
client_id=<APP_ID>
&client_secret=<APP_SECRET>
&code=<CODE>
Weitere Informationen zu diesem Schritt findest du unter Austausch von Code durch einen Zugriffsschlüssel.
Hier ein Beispiel für die Methode FB.login()
des JavaScript-SDK, die so geändert wurde, dass sie eine Konfiguration für einen Nutzer-Zugriffsschlüssel verwendet. Beachte, dass scope
durch config_id
ersetzt wurde (auch wenn scope
weiterhin eingeschlossen werden kann, raten wir von der Verwendung des Parameters ab).
FB.login( function(response) { console.log(response); }, { config_id: '<CONFIG_ID>' // configuration ID goes here } );
Hier ein Beispiel für den login-Button des JavaScript-SDK, der so geändert wurde, dass er eine Konfiguration für einen Nutzer-Zugriffsschlüssel verwendet:
<fb:login-button config_id="<CONFIG_ID>" onlogin="checkLoginState();"></fb:login-button>
Unter Manuelles Erstellen des Login-Ablaufs erfährst du, wie du den Login-Dialog manuell aufrufen kannst. Schließe beim Aufrufen des Login-Dialogs und Festlegen der Weiterleitungs-URL deine Konfigurations-ID als einen optionalen Parameter ein (auch wenn „scope“ weiterhin eingeschlossen werden kann, raten wir von der Verwendung dieses Parameters ab).
config_id=<CONFIG_ID>
Es wird empfohlen, Tests durchzuführen und dich über möglicherweise auftretende Probleme zu informieren, bevor du zu Facebook Login for Business wechselst.
Facebook Login for Business ist für alle neu erstellten Business-Apps verfügbar. Bestehende berechtigteApps vom Typ Business und Apps vom Typ Keine wurden entweder automatisch umgestellt oder können für Facebook Login for Business aktiviert werden.
Wenn deine App berechtigt ist, zum Facebook Login for Business zu wechseln, sollte dir in den folgenden Schritten ein Aktivierungsbanner angezeigt werden:
Um zu Facebook Login for Business zu wechseln, musst du auf den Button „Aktivieren“ im Banner klicken. Mit dieser App verknüpfte Test-Apps führen die Aktivierung ebenfalls automatisch durch.
Nach dem Wechsel hat deine App den Typ Business. Für den Fall, dass deine App nicht wie vorgesehen funktioniert, darf für jede App innerhalb von 30 Tagen nach dem Wechsel zu Facebook Login ein Rollback durchgeführt werden. Dies ist höchstens 3 Mal möglich. Beachte Folgendes: Wenn der Login-Dialog für Facebook Login for Business via Konfigurations-ID aufgerufen wird und du entscheidest, zu Facebook Login zurückzuwechseln, kann das Laden des Login-Dialogs fehlschlagen. Das liegt daran, dass Facebook Login den Parameter ‚config_id‘ nicht unterstützt. Du musst diesen durch den Parameter ‚scope‘ ersetzen.
Bei App-Installern kann es aus folgenden Gründen zu Fehlermeldungen kommen:
Potenzielle funktionsgefährdende Änderungen:
Wenn deine App nach dem Wechsel zu Facebook Login for Business nicht wie vorgesehen funktioniert, kannst du sie deinstallieren, indem du zurück zu Facebook Login wechselst, dann zu App-Dashboard > Facebook Login for Business > Einstellungen navigierst und auf den Link Wechseln zu Facebook Login klickst. Dir wird eine Umfrage angezeigt, die uns hilft, das Facebook Login for Business-Konfigurationserlebnis zu verbessern. Jede App darf innerhalb von 30 Tagen nach dem Wechsel zu Facebook Login zurückkehren. Dies ist nur höchstens 3 Mal möglich.
Facebook Login for Business unterstützt nur bestimmte Berechtigungen und Funktionen. Eine App ist nicht berechtigt, wenn sie Berechtigungen oder Funktionen anfordert, die von Facebook Login for Business nicht unterstützt werden. Beachte, dass die email
- und public_profile
-Berechtigung gemeinsam mit mindestens einer anderen unterstützten Berechtigung angefordert werden muss.
Wenn deine App nicht zur Teilnahme berechtigt ist, kannst du eine neue App vom Typ „Business“ erstellen, für die Facebook Login for Business standardmäßig verfügbar ist, und unterstützte Unternehmensberechtigungen über die App-Review anfordern.
Fordere nur die minimal erforderlichen Berechtigungen an, die für die Funktionalität deiner App benötigt sind. Sei gegenüber den Nutzer*innen transparent darüber, warum du die einzelnen Berechtigungen und Funktionen benötigst. Beachte, dass die Berechtigungen email
und public_profile
für jede App-Installation zusammen mit mindestens einer anderen unterstützten Berechtigung angefordert werden müssen. Du kannst eine Konfiguration erstellen, um unterstützte Berechtigungen anzuzeigen und deine Berechtigungsanfragen für ein individuelleres Onboarding zu bündeln.