Authentifizierung bei Unternehmens-Login


Der Unternehmens-Login (im Allgemeinen als Facebook Login bekannt) ermöglicht es Unternehmensinhaber/innen, über einen Button auf deiner Site ihr Unternehmen auf deiner Plattform mit ihren Facebook- oder Instagram-Profilen zu verknüpfen.

Der Unternehmens-Login befindet sich auf der Oberfläche deiner Plattform (in der Regeln in einem internen Administrationsbereich auf deiner Site) und löst den Unternehmens-Login-Vorgang aus. Unternehmensinhaber können mit diesem Vorgang ihre Facebook-Profile mit ihrer Unternehmenspräsenz auf deiner Website verknüpfen und dadurch FBE-Features (Facebook Business Extension) aktivieren.

Eine OBO-Business-Lösung (On Behalf Of; im Namen für), die das Partner- und die Kunden-Unternehmen miteinander verknüpft, wird bei der FBE-Installation erstellt. Darüber kann der Partner mit den Anmeldedaten eines Business Manager-Admin-Systemnutzers (zusätzlich zur bislang genutzten Methode über die Anmeldedaten des Business Manager-Admins des Kunden) ein Token für den Nutzerzugriff auf das FBE-System abrufen.

Hinweis: Business-Apps können als Alternative zur Authentifizierung per Unternehmens-Login genutzt werden. Die Verwendung von Business-Apps wird in der Dokumentation erläutert.

Anforderungen

Deine App muss möglicherweise den App Review abschließen, um die folgenden Berechtigungen zu erhalten:

  • catalog_management: nur wenn deine App Katalogfunktionen aktiviert. Alternativ kannst du die Berechtigung ads_management anfordern, wenn du im Auftrag des Kunden auch Anzeigen von Händlern verwalten möchtest.
  • business_creative_management: wenn es sich bei deiner App um eine Werbeanzeigen-App handelt, die die Draper-API nutzt.

Login-Vorgang einrichten

Zur Einrichtung des Login-Vorgangs stehen dir folgende Optionen zur Verfügung:

  • Unternehmens-Login über URL laden: Empfohlen, wenn du das Facebook JavaScript-SDK nicht nutzen möchtest. Bei dieser Option musst du eine dynamisch erstellte URL pro Unternehmen über einen Button auf deiner Website verknüpfen.

  • Unternehmens-Login über Facebook-SDK laden: Das Facebook-SDK bietet gängige clientseitige Funktionalität. Wir empfehlen diese Option für Entwickler*innen, die stärker damit vertraut sind, da sie eine standardisiertere Herangehensweise beim Start desselben Vorgangs bietet.

Unternehmens-Login über URL laden


Füge auf deiner Website einen Button hinzu, über den eine URL geöffnet wird, um das Unternehmens-Login über URL auszulösen.

Die Unternehmens-Login-URL muss diese Abfrageparameter aufweisen:

Feld Beschreibung

client_id

Typ: String

Erforderlich.

Meta-App-ID.

display

Typ: String

Erforderlich.

Anzeigeart des Unternehmens-Logins: popup, window oder page.

redirect_uri

Typ: String

Erforderlich.

Weiterleitungs-URI, zu der FBE nach Abschluss des Vorgangs weiterleitet.

response_type

Typ: String

Erforderlich.

Legt fest, ob die Unternehmens-Login-Antwort bei der Zurückleitung zur App in URL-Parameter oder URL-Fragmente aufgenommen wird.

Verwende token, wenn der access_token an die Weiterleitungs-URI als ein URL-Fragment angehängt werden soll, oder code, wenn du die Antwort lieber als einen URL-Parameter erhältst (er muss über einen API-Aufruf gegen ein Zugriffstoken getauscht werden).

scope

Typ: String

Erforderlich.

Berechtigungen oder Bereiche sind erforderlich: manage_business_extension.

Je nach deinem Anwendungsfall auch ads_management oder catalog_management.

Bei einer Werbeanzeigen-App sollte der Bereich auch business_creative_management umfassen.

extras

Typ: String

Erforderlich.

Enthält die Informationen dazu, welche Vorgänge und Parameter dem Nutzer während des Vorgangs angezeigt werden. Dies umfasst setup und business_config. Siehe unterstützte extra-Felder.

setup

Typ: String

Erforderlich.

Die Facebook-Einrichtung des Händlers, etwa seine eindeutige ID (external_business_id) oder Katalogwährung (currency). Siehe unterstützte setup-Felder.

business_config

Typ: String

Erforderlich.

Objekt, mit dem FBE den FBE-Workflow konfiguriert. Siehe unterstützte business_config-Felder.

Wenn deine App dynamische Weiterleitungs-URIs erfordert, übergebe die dynamischen Informationen nach Abschluss des Unternehmens-Login-Vorgangs mit dem state-Parameter zurück an die Weiterleitungs-URI.

Nähere Informationen zum Formatieren dieser URL und zu allen erforderlichen Parametern findest du in den Feldern unter Facebook Business Extension: API-Objekte und -Typen.

Im nachstehenden Beispiel ist der Abfrageparameter extras richtig formatiert und gibt das business_config- und das setup-Objekt an.

Beispiel-URL

https://facebook.com/dialog/oauth?
client_id=<FB_APP_ID>
&display=page
&redirect_uri="https://partner-site.com/redirectlanding"
&response_type=token
&scope=manage_business_extension
//   alternatively use catalog_management or ads_management
//   &scope=manage_business_extension,catalog_management,ads_management
&extras={
  "setup": {
    "external_business_id": "foo-123",
    "timezone": "America/Los_Angeles",
    "currency": "USD",
    "business_vertical": "APPOINTMENTS"
  },
  "business_config": {
    "business": {
      "name": "Foo Business"
    },
    "page_cta": {
      "enabled": true,
      "cta_button_text": "Book Now",
      "cta_button_url": "https://partner-site.com/foo-business",
      "below_button_text": "Powered by FBE Partner"
    },
    "page_card": {
      "enabled": true,
      "see_all_text": "See All",
      "see_all_url": "https://partner-site.com/foo-business",
      "cta_button_text": "Book"
    },
    "ig_cta": {
      "enabled": true,
      "cta_button_text": "Book Now",
      "cta_button_url": "https://partner-site.com/foo-business"
    },
    "messenger_menu": {
      "enabled": true,
      "cta_button_text": "Book Now",
      "cta_button_url": "https://partner-site.com/foo-business"
    },
    "thread_intent": {
      "enabled": true,
      "cta_button_url": "https://partner-site.com/foo-business"
    }
  },
  "repeat": false
}

Gib zur manuellen Erstellung eines Login-Vorgangs deine Weiterleitungs-URL im App-Dashboard ein:

Die Weiterleitungs-URL ist eine Schutzfunktion für FBE-Weiterleitungen. Wenn die Weiterleitung von FBE nicht mit der Domain im Feld mit der Weiterleitungs-URL deiner App übereinstimmt, nimmt FBE am Ende des Vorgangs keine Weiterleitung zur URL vor.

  1. Rufe das App-Dashboard auf und wähle deine App aus.
  2. Scrolle zu Produkt hinzufügen und klicke auf der Facebook Login-Karte auf Einrichten.
  3. Wähle in der Navigationsleiste auf der linken Seite die Option Einstellungen.
  4. Scrolle zu Client-OAuth-Einstellungen und gib im Feld Gültige OAuth Redirect URIs deine Weiterleitungs-URL ein.

Wie bei einem normalen Facebook Login wird am Ende des Vorgangs ein access_token zurückgegeben, mit dem du die Pixel-ID, die Seiten-ID und die Instagram Business-ID abrufst.



Unternehmens-Login über Facebook-SDK laden


Schritt 1: Lade das Facebook JavaScript-SDK.

Du kannst das SDK herunterladen und auf deiner Plattform hosten oder das von Facebook gehostete SDK herunterladen. Wir empfehlen, das von Facebook gehostete SDK zu verwenden.

Schritt 2: Hänge die fbAsyncInit-Funktion an das Window-Objekt an, um die SDK-Einstellungen einzurichten.

Bevor du das JavaScript-SDK lädst, muss die fbAsyncInit-Funktion auf dem window-Objekt vorhanden sein. Das SDK ruft die Funktion window.fbAsyncInit() zur Einrichtung auf.

Diese Einrichtung umfasst Folgendes:

  • appId: Facebook-App-ID.
  • cookie: Aktiviert Cookies, damit der Server auf diese Sitzung zugreifen kann.
  • xfbml: Parst soziale Plugins auf dieser Seite.
  • version: Teilt dem SDK mit, welche Graph API-Version verwendet werden soll (dieses Dokument wurde erstellt, als v10.0 die aktuelle Version war)

Bevor du das JavaScript-SDK lädst, musst du die fbAsyncInit-Funktion an das window-Objekt anhängen.

Schritt 3: Starte FBE über die FB.login()-Funktion (auch als „Unternehmens-Login“ bezeichnet).

Nach dem Laden des SDK und der Initialisierung mit den richtigen Informationen nutzt du das SDK zum Laden von FB.login(). Die wichtigen Parameter, die an die FB.login()-Funktion übergeben werden müssen, sind:

  1. Antwort-Rückruf-Funktion
  2. Objekt für scope- und extras-Feld
Feld Beschreibung

scope

Erforderlich.

Erforderliche Berechtigungen oder Bereiche: manage_business_extension und ads_management oder catalog_management.

extras

Erforderlich.

Enthält die Informationen dazu, welche Vorgänge und Parameter dem Nutzer während des FBE-Workflows angezeigt werden. Dies umfasst setup und business_config.

setup

Erforderlich.

Definiert die Facebook-Einrichtung des Händlers, etwa seine eindeutige ID (external_business_id) oder Katalogwährung (currency). Siehe unterstützte setup-Felder.

business_config

Erforderlich.

Objekt, mit dem FBE den FBE-Workflow konfiguriert. Siehe Von business_config unterstützte Felder.

Nähere Informationen findest du unter Facebook Business Extension: API-Objekte und -Typen.

Beispiel:

<script>
    window.fbAsyncInit = function() {
    //2. FB JavaScript SDK configuration and setup
        FB.init({
            appId      : '<app_id>', // FB App ID
            cookie     : true,  // enable cookies to allow the server to access the session
            xfbml      : true,  // parse social plugins on this page
            version    : 'v4.0' // uses graph api version v4.0
        });
    };

    //1. Load the JavaScript SDK asynchronously
    (function(d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) return;
        js = d.createElement(s); js.id = id;
        js.src = "https://connect.facebook.net/en_US/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

     //3. Facebook login with JavaScript SDK
    function launchFBE() {
        FB.login(function (response) {
            if (response.authResponse) {
                // returns a User Access Token with scopes requested
                const accessToken = response.authResponse.accessToken;
                const message = {
                    'success':true,
                    'access_token':accessToken,
                };
                // store access token for later  
            } else {
              console.log('User cancelled login or did not fully authorize.');
            }
        }, {
            scope: 'catalog_management,manage_business_extension',
          // refer to the extras object table for details
            extras: {
                "setup":{
                  "external_business_id":"<external_business_id>",
                  "timezone":"America\/Los_Angeles",
                  "currency":"USD",
                  "business_vertical":"ECOMMERCE"
                },
                "business_config":{
                  "business":{
                     "name":"<business_name>"
                  },
                  "ig_cta": {
                    "enabled": true,
                    "cta_button_text": "Book Now",
                    "cta_button_url": "https://partner-site.com/foo-business"
                  }
                },
                "repeat":false
            }
        });
    }
</script>

Schritt 4: Erstelle einen Button oder Link zum Starten von FBE.

Füge zum Laden des Bildschirms einen Button hinzu oder verknüpfe die onClick-Funktion, mit der launchFBE() aufgerufen wird:

<button onclick="launchFBE()"> Launch FBE Workflow </button>

Gib deine Weiterleitungs-URL im App-Dashboard ein:

Die Weiterleitungs-URL ist eine Schutzfunktion für FBE-Weiterleitungen. Wenn die Weiterleitung von FBE nicht mit der Domain im Feld mit der Weiterleitungs-URL deiner App übereinstimmt, nimmt FBE am Ende des Vorgangs keine Weiterleitung zur URL vor.

  1. Rufe das App-Dashboard auf und wähle deine App aus.
  2. Scrolle zu Produkt hinzufügen und klicke auf der Facebook Login-Karte auf Einrichten.
  3. Wähle in der linken Navigationsleiste die Option Einstellungen.
  4. Scrolle zu Client-OAuth-Einstellungen und gib im Feld Gültige OAuth Redirect URIs deine Weiterleitungs-URL ein.

Mobilgeräte

Informationen zur FBE-Implementierung auf Mobilgeräten findest du in der Dokumentation zu Mobile.

Mehr dazu