Facebook Login for Business

Facebook Login for Business ist die bevorzugte Authentifizierungs- und Autorisierungslösung für Tech-Anbieter, die Integrationen mit den Meta-Business-Tools erstellen, um Marketing-, Messaging- und Verkaufslösungen zu entwickeln.

Mit Facebook Login for Business kannst du im Dashboard der Meta-App ein Login-Erlebnis schaffen, das auf die Anforderungen deiner App abgestimmt ist. Du kannst den Zugriffstoken-Typ, die Assets sowie die Berechtigungen angeben, die deine App benötigt, und als Konfiguration speichern. Wenn sich die Nutzer*innen deiner App bei dieser anmelden, wird ihnen diese Konfiguration angezeigt, die es ihnen ermöglicht, deiner App Zugriff auf ihre Business-Assets zu gewähren.

Anforderungen

  • Bei deiner Meta-App muss es sich um eine App des Typs „Business“ handeln.
  • Alle Berechtigungen, die deine App während der Anmeldung anfordert, müssen von deinem*deiner App-Nutzer*in gewährt werden. Andernfalls erhält die App keinerlei Berechtigungen.
  • Die Berechtigungen email und public_profile werden automatisch allen Apps gewährt, doch mindestens eine andere unterstützte Berechtigung muss für jede App-Installation enthalten sein.
  • Um von Unternehmen genutzt werden zu können, die du weder besitzt noch verwaltest, muss deine App für Advanced Access über den App-Review von Meta genehmigt sein.
  • Apps mit Advanced Access müssen kontinuierlich den Review durchlaufen, um den Zugriff beizubehalten. Für Apps, die Facebook Login for Business verwenden, gelten jedoch geringere Anforderungen an bestimmte fortlaufende Compliance-Überprüfungen, da sie auf den Zugriff auf Unternehmensberechtigungen und -funktionen beschränkt sind.

Unterstützte Berechtigungen

Die folgende Tabelle enthält die verfügbaren Berechtigungen für Facebook Login for Business.

Verfügbare BerechtigungenNutzungs-ZugriffstokenBusiness-Integration-Systemnutzer-Zugriffstoken (WhatsApp)
ads_management

ads_read

business_management

catalog_management

commerce_account_manage_orders

commerce_account_read_orders

commerce_account_read_reports

commerce_account_read_settings

commerce_manage_accounts

email

Nicht zutreffend

instagram_basic

instagram_content_publish

instagram_manage_comments

instagram_manage_insights

instagram_manage_messages

instagram_shopping_tag_products

leads_retrieval

manage_app_solutions

manage_fundraisers

pages_manage_cta

page_events

pages_manage_ads

pages_manage_engagement

pages_manage_instant_articles

pages_manage_metadata

pages_manage_posts

pages_messaging

pages_read_engagement

pages_read_user_content

pages_show_list

private_computation_access

public_profile

Nicht zutreffend

publish_video

read_insights

read_audience_network_insights

whatsapp_business_management

whatsapp_business_messaging

Unterstützte Funktionen

  • Standardzugriff für das Anzeigenmanagement
  • Zugriff auf Business Asset-Nutzungsprofile
  • Human Agent
  • Zugriff auf öffentliche Instagram-Inhalte
  • Live Video API
  • Seitenerwähnungen
  • Zugriff auf öffentliche Seiteninhalte
  • Zugriff auf öffentliche Metadaten von Seiten

Unterstützte Zugriffstoken

Mithilfe von Facebook Login for Business kannst du entweder Business-Integration-Systemnutzer-Zugriffstoken oder Nutzer*innen-Zugriffstoken abrufen.

Nutzungs-Zugriffstoken

Wenn deine App in Echtzeit Aktionen ausführt, die auf den Eingaben des*der Nutzer*in basieren, sollten Nutzer*innen-Zugriffstoken verwendet werden. Verwende z. B. einen Nutzer*innen-Zugriffstoken, wenn Nutzer*innen in deiner App Text eingeben und auf einen Button klicken müssen, um Inhalte auf ihrer Seite zu posten. Außerdem sollten Nutzer*innen-Zugriffstoken verwendet werden, wenn du eine API benötigst, für die Admin-Berechtigungen in einem Business-Portfolio erforderlich sind.

Business-Integration-Systemnutzer-Zugriffstoken

Business-Integration-Systemnutzer-Zugriffstoken sollten verwendet werden, wenn deine App programmgesteuerte, automatisierte Aktionen für die Assets deiner Unternehmenskund*innen durchführt, ohne auf die Eingabe von App-Nutzer*innen angewiesen zu sein oder eine erneute Authentifizierung zu einem späteren Zeitpunkt zu erfordern. Zum Beispiel:

  • Stündliche, automatisierte Server-zu-Server-Aufrufe der Conversion API
  • Senden automatisierter Antworten als Facebook-Seite oder WhatsApp-Business-Portfolio
  • Kontinuierliche, automatisierte Updates von Produktkatalogbeständen
  • Automatisierter Abruf von Insights zu Werbeanzeigen

Anforderungen

Voraussetzungen zum Erhalt von Business-Integration-Systemnutzer-Zugriffsschlüssel von deinen Unternehmenskunden:

  • Deine App kann nur Logins von Weboberflächen anfordern.
  • Unternehmen, die das Onboarding für deine App durchlaufen, müssen ein Business-Portfolio haben oder bereit sein, ein solches zu erstellen.
  • Deine App muss einem Business-Portfolio zugeordnet sein, über das du die uneingeschränkte Kontrolle besitzt. Dies muss von dem Business-Portfolio getrennt sein, welches deinem Unternehmenskunden gehört.

Um den Vorgang rund um den Business-Integration-Systemnutzer-Zugriffstoken zu testen, muss der*die Tester*in eine Rolle in der App und die uneingeschränkte Kontrolle über das Kundenunternehmen innehaben.

Granulare Business-Integration-Systemnutzer-Zugriffstoken

Wenn du unterschiedliche Zugriffs-Setups für verschiedene Zwecke oder Abteilungen benötigst, kannst du mehrere granulare Business-Integration-Systemnutzer-Zugriffstoken pro Kundenunternehmen verwenden, um die Skalierbarkeit und Sicherheit deiner Integrationen zu verbessern.

Auch granulare Zugriffsschlüssel gelten spezifisch für das Portfolio eines Kundenunternehmens. Sie können nicht in unterschiedlichen Kundenunternehmen geteilt oder abgerufen werden. Ihr Geltungsbereich und ihre Assetliste stellen eine Teilmenge des ursprünglichen Business-Integration-Systemnutzer-Zugriffstokens dar.

Zur Isolierung potenzieller Sicherheitsvorfälle bei einem kompromittierten Zugriffstoken ist nur das spezifische Kundenunternehmen betroffen anstelle aller Business-Portfolios aller Kundenunternehmen.

Business Integration System User Access Token Management API

Wenn ein Kundenunternehmen eine App über Facebook Login for Business installiert und einen Business-Integration-Systemnutzer-Zugriffsschlüssel generiert, enthält der Schlüssel eine Kundenunternehmens-ID. Die ID steht für das Kundenunternehmen und wird von deiner App bei API-Aufrufen verwendet.

Über den /<CLIENT_BUSINESS_ID>/system_user_access_tokens-Endpunkt kannst du deine vorhandenen Business-Integration-Systemnutzer-Zugriffsschlüssel verwalten. Verfügbare Aktionen:

  • Granulare Business-Integration-Systemnutzer-Zugriffsschlüssel anhand der vorhandenen Business-Integration-Systemnutzer-Zugriffsschlüssel generieren
  • Vorhandene Business-Integration-Systemnutzer-Zugriffsschlüssel abrufen
Parameter
ObjektBeschreibung

access_tokenString

Erforderlich. Dieser Zugriffsschlüssel erfordert die Berechtigung business_management.

appsecret_proofString

Erforderlich.appsecret_proof ist ein sha256-Hash deines Zugriffsschlüssels, um API-Aufrufe von einem Server stärker zu sichern.

assetGanzzahl

Optional. Wenn du einen granulareren Zugriffsschlüssel generieren möchtest, kannst du eine Liste von kommagetrennten asset-IDs festlegen. Die Asset-Liste muss eine Teilmenge der Assets aus dem ursprünglichen Zugriffsschlüssel sein.

fetch_onlyBoolescher Wert

Optional. Das Flag, das du zum Abrufen des bestehenden Zugriffsschlüssels und zum Kennzeichnen dieses Vorgangs als schreibgeschützt verwendest.

scopeBoolescher Wert

Optional. Wenn du einen granulareren Zugriffsschlüssel erzeugen möchtest, kannst du eine Liste von kommagetrennten scope-IDs festlegen. Die Asset-Liste muss eine Teilmenge der Geltungsbereiche aus dem ursprünglichen Zugriffsschlüssel sein.

set_token_expires_in_60_daysBoolescher Wert

Optional. Setze diese Eigenschaft beim Generieren eines neuen Schlüssels auf true, damit der Schlüssel in 60 Tagen abläuft.

system_user_idGanzzahl

Optional. Die ID für den Systemnutzer im Zugriffstoken.

Beispielanfrage

Für Lesbarkeit formatiert.

curl -i -X POST "https://graph.facebook.com/v21.0/<CLIENT_BUSINESS_ID>/system_user_access_tokens
    ?appsecret_proof=<APPSECRET_PROOF_HASH>
    &access_token=<ACCESS_TOKEN>
    &system_user_id=<SYSTEM_USER_ID>
    &fetch_only=true"

Bei Erfolg erhält deine App eine JSON-Antwort mit einem neuen Zugriffsschlüssel, der in nachfolgenden API-Aufrufen verwendet werden kann.

{
  "access_token": "<NEW_ACCESS_TOKEN>" 
}

Vergleich

Business-Integration-Systemnutzer-ZugriffsschlüsselNutzungs-Zugriffstoken

Zugriffszuweisung

Der Zugriff wird zum Zeitpunkt der Autorisierung ausdrücklich delegiert. Deine App kann nur auf die Assets zugreifen, die von deinem Unternehmenskunden beim Abschluss des Facebook Login for Business-Vorgangs angegeben wurden. Nur Tech-Anbieter.

Der Zugriff wird vom aktuellen Konto deines*deiner App-Nutzer*in übernommen. Die App kann auf die gleichen Business-Assets zugreifen, auf die der*die App-Nutzer*in derzeit Zugriff hat.

Kontoverknüpfung

Ist mit dem Business-Portfolio 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 Unternehmenskunde kann deiner App einen Systemnutzer-Zugriffsschlüssel gewähren.

Ist mit dem persönlichen Facebook-Konto deines*deiner App-Nutzer*in verknüpft.

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.

Art der OAuth-Gewährung

Nur Gewährung des Autorisierungscodes.

Standardmäßig implizite Gewährung, kann aber auch zwecks verbesserter Sicherheit die Gewährung des Autorisierungscodes unterstützen. Wird hauptsächlich für User-Agent-basierte Clients wie Webbrowser und mobile Apps verwendet.

Repräsentation

Teil der Integrationsinfrastruktur des Tech-Anbieters und wird von einem Kundenunternehmen durch die Installation der App des Tech-Anbieters initialisiert.

Stellt Server oder Softwareelemente dar, die API-Aufrufe an Assets senden, die einem Business Manager gehören oder von ihm verwaltet werden.

Ungültigmachung des Schlüssels

Deine Unternehmenskunden 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.

Deine Unternehmenskunden können Nutzer*innen-Zugriffstoken ungültig machen, indem sie zu Facebook und dann zu Einstellungen und Privatsphäre > Einstellungen > Sicherheit und Login > Business-Integrationen navigieren und deine App entfernen.

Login-Vorgang

Nutzer*innen-Zugriffstoken – Login-VorgangBusiness-Integration-Systemnutzer-Zugriffsschlüssel – Login-Vorgang
Etwas ist schiefgelaufen
Leider kann dieses Video nicht richtig abgespielt werden.
Etwas ist schiefgelaufen
Leider kann dieses Video nicht richtig abgespielt werden.

Erste Schritte

Die folgenden Schritte müssen zum Einrichten von Facebook Login for Business ausgeführt werden, sofern du noch keine App hast.

App erstellen

  1. Erstelle im App-Dashboard von Meta eine Business-App.
  2. Füge das Produkt Facebook Login for Business hinzu.
  3. Wähle im Menü auf der linken Seite Konfigurationen aus.
  4. Du kannst entweder + Konfiguration erstellen wählen, um eine neue Konfiguration zu erstellen, oder Aus Vorlage erstellen, um eine der voreingestellten Konfigurationen von Meta auszuwählen. Du kannst mehrere Konfigurationen erstellen und sie verschiedenen Gruppen von Nutzer*innen anzeigen.
  5. Gib deiner Konfiguration einen Namen.
  6. Wähle die den Zugriffsschlüssel-Typ, den du von deinen Unternehmenskunden anfordern möchtest (Nutzer*innen-Zugriffsschlüssel oder Systemnutzer-Zugriffsschlüssel) und lege den Schlüsselablauf fest. Bei Auswahl des Typs „Nutzer*innen-Zugriffsschlüssel“ melden sich deine App-Nutzer*innen mit ihrem persönlichen Facebook-Konto an. Bei Auswahl des Typs „Systemnutzer-Zugriffsschlüssel“ müssen sich deine App-Nutzer*innen mit einem Business-Portfolio anmelden. Dies ist nur erforderlich, wenn diese Konfiguration ständigen Zugriff auf Business-Assets benötigt, z. B. auf Facebook-Seiten, Werbekonten oder Instagram-Konten.
  7. Wähle alle Assets aus, auf die deine App Zugriff benötigt.
  8. Wähle die Berechtigungen aus, die deine App benötigt, und klicke auf Erstellen.

Du erhältst eine Konfigurations-ID, die du in deinem code zum Aufrufen des Login-Dialogs verwendest.

Embedded Signup-Konfiguration für die WhatsApp Business Platform erstellen

Folge den Anweisungen in unserem Leitfaden zum Embedded Signup für WhatsApp, um eine Embedded Signup-Konfiguration für WhatsApp zu erstellen.

Konfiguration der Conversions API für Business-Messaging erstellen

Folge den Anweisungen in unserem Marketing API-Leitfaden zur Conversions API für Business-Messaging, um eine Konfiguration der Conversions API für Business-Messaging zu erstellen.

Instagram Graph API-Konfiguration erstellen

Folge den Anweisungen in unserer Dokumentation zur Instagram Graph API, um eine Instagram Graph API-Konfiguration zu erstellen.

Aufrufen eines Login-Dialogs

Rufe einen Login-Dialog mit einem unserer SDKs (empfohlen) auf oder erstelle den Login-Flow manuell.

Aufrufen mit unseren SDKs

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.

Konfigurationen für Business-Integration-Systemnutzer-Zugriffstoken

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-Zugriffstoken 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/v21.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 Zugriffstoken.

Konfigurationen für Nutzer*innen-Zugriffstoken

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*innen-Zugriffstoken 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*innen-Zugriffsschlüssel verwendet:

<fb:login-button config_id="<CONFIG_ID>" onlogin="checkLoginState();"></fb:login-button>

Erstellen eines manuellen Login-Flows

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>

Wechsel zu Facebook Login for Business

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 Apps des Typs „Business“ verfügbar.

Wenn deine App berechtigt ist, zu Facebook Login for Business zu wechseln, sollte dir in den folgenden Schritten ein Aktivierungsbanner angezeigt werden:

  1. Wähle deine App im App-Dashboard aus.
  2. Rufe das Facebook Login-Produkt auf oder füge es hinzu.
  3. Klicke im Menü links auf Einstellungen oder Kurzanleitung.
  4. Klicke oben auf der Seite auf den Button „Erste Schritte mit Facebook Login for Business“.

Beachte, dass deine aktuellen Zugriffsschlüssel nicht vom Wechsel zu Facebook Login for Business betroffen sind. Darüber hinaus werden alle mit dieser App verknüpften Test-Apps ebenfalls auf Facebook Login for Business umgestellt.

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.

Problembehebung

Bei Unternehmenskunden kann es aus folgenden Gründen zu Fehlermeldungen kommen:

  • Konfig-ID ist ungültig.
  • Der Systemnutzer-Zugriffsschlüssel des Unternehmens wird zurzeit nicht auf Mobilgeräten unterstützt.
  • Der Systemnutzer-Zugriffsschlüssel des Unternehmens ist mit falschem response_type eingerichtet.

Potenzielle funktionsgefährdende Änderungen:

  • Wenn deine App zurzeit den Typ Keiner aufweist, führt der Wechsel zu Facebook Login for Business dazu, dass sich der App-Typ in Business ändert. Die App behält dann nur den Zugriff auf die oben aufgeführten Berechtigungen, Features und Produkte bei.
  • Wenn du von Unternehmenskunden Berechtigungen oder Funktionen anforderst, die von Facebook Login for Business nicht unterstützt werden, werden diese Berechtigungen und Funktionen sofort widerrufen, sobald du deine App auf Facebook Login for Business umstellst.
  • Wenn du nur email und/oder public_profile von deinen Unternehmenskunden anforderst, führt der Wechsel der App zu Facebook Login for Business zur Ungültigmachung aller zuvor installierten Schlüssel für diese Kund*innen.
  • Wenn deine App sowohl über Facebook Login for Business als auch über die Meta Business Extension verfügt, ist die Nutzung von Meta Business Extension ausschließlich auf Berechtigungen beschränkt, die von Facebook Login for Business unterstützt werden.
  • Der Zugriff auf Business Asset-Nutzungsprofile kann sich darauf auswirken, wie über unsere APIs auf Nutzungsprofildaten zugegriffen und diese verwaltet werden.
  • 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 stattdessen den Parameter config_id durch den Parameter scope ersetzen.

Erfahre mehr über Meta Business Extension.

Zurückwechseln zu Facebook Login

Nur möglich, wenn eine vorhandene App zu Facebook Login for Business gewechselt ist; neu erstellte Apps des Typs „Business“ können nicht zu Facebook Login zurückwechseln.

Wenn deine App nach dem Wechsel zu Facebook Login for Business nicht wie vorgesehen funktioniert, kannst du zu Facebook Login zurückkehren, indem du zu App-Dashboard > Facebook Login for Business > Einstellungen navigierst und auf den Link Zu Facebook Login wechseln 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.

FAQs

The easiest way to add Facebook Login for Business is to create a new Business Type app, where Facebook Login for Business is automatically available, and request supported business permissions through Meta App Review. If you want to use it for an existing None type app, your app must have advanced access to at least one supported business permission.

If you are not a Tech Provider building solutions using Meta’s business APIs, Facebook Login is recommended for consumer authentication.

Only request the minimum permissions necessary for your app's functionality. Be transparent with users about why you need each permissions and features. Note that the email and public_profile permissions must be requested with at least one other supported business permission.

Yes, advanced access to the public_profile permission is required for Facebook Login for Business apps before they go live. This requirement is crucial to ensure that the app can support authorization from users who do not have an app role, commonly referred to as external users.