Janrain Capture/Backplane

Kunden, die Janrain Capture und Backplane verwenden, können Livefyre Auth für die einmalige Anmeldung (SSO) verwenden, sodass Benutzer sofort mit Ihren Livefyre-Apps interagieren können, wenn sie sich bei Ihrer Site anmelden.

Um von dieser integrierten Capture/Backplane-Integration zu profitieren, müssen Sie Konfigurationsänderungen an Ihrer Capture-App und Ihrer Livefyre.js-Integration vornehmen.

HINWEIS

Überspringen Sie diesen Abschnitt, wenn Sie nicht mit Janrain Capture arbeiten.

Weitere Informationen finden Sie unter Janrains Backplane-Dokumentation.

  1. Capture einrichten.
  2. (Optional) Hinzufügen Livefyre-Standardwerte auf Ihre Capture-App.
  3. Erstellen Sie das Objekt AuthDelegate.
  4. Synchronisieren Sie Livefyre mit Ping für Pull.

Schritt 1: Capture einrichten

Livefyre benötigt bestimmte Anmeldeinformationen von Ihrer Janrain Capture-App.

  1. Richten Sie die App "Janrain Capture"ein.

  2. Sammeln Sie die folgenden Informationen für Livefyre:

    • Zugriff auf Ihre Janrain Capture-Instanz.
    • Zugang zu Ihrem Janrain Engage Dashboard.
    • Ihre Capture-Einstellungen und -Anmeldedaten.
    • Ihre Anmeldedaten für Interagieren.
    • Ihre Identitäts-URL.
HINWEIS

Livefyre erhält Daten direkt vom CNAME; Daher kann diese Identitäts-URL kein CNAMEd-Datensatz (ein Vanity-URL-CNAME) sein, der zum tatsächlichen CNAME der Janrain Capture aufgelöst wird.

Schritt 2: (Optional) Hinzufügen Livefyre-Standardeinstellungen auf Ihre Capture-App

hinzufügen Livefyre-Standard sind Benutzer, die in Ihrer Capture-App gespeichert sind, damit Sie E-Mail-Benachrichtigungen an Benutzer senden oder ihnen erlauben können, automatisch Konversationen zu verfolgen, zu denen Benutzer Kommentare abgeben.

  1. Führen Sie Schritt 1 aus: "Capture einrichten".
  2. hinzufügen die folgenden Livefyre-Standardfelder. Alle Felder sind optional.
Parameter Typ Beschreibung
livefyre_comments Zeichenfolge Benachrichtigen Sie den Benutzer, wenn jemand einen Artikel kommentiert, dass er ihm folgt. Kann sofort, oft oder nie sein.
livefyre_likes Zeichenfolge Benachrichtigen Sie den Benutzer, wenn ihm einer seiner Beiträge gefällt. Kann sofort, oft oder nie sein.
livefyre_replies Zeichenfolge Benachrichtigen Sie den Benutzer, wenn jemand auf einen seiner Beiträge antwortet.Kann sofort, häufig oder nie sein.
livefyre_moderator_comments Zeichenfolge Benachrichtigen Sie den Moderator, wenn jemand zu einem Gespräch Stellung nimmt, dass er moderiert ist.Kann sofort, häufig oder nie sein.
livefyre_moderator_flags Zeichenfolge Benachrichtigen Sie den Moderator, wenn jemand bei einer Unterhaltung einen Beitrag markiert, dass er moderiert wird.Kann sofort, häufig oder nie gesendet werden.
livefyre_autofollow_conversations Boolesch Lassen Sie den Benutzer beim Verlassen eines Beitrags automatisch eine Konversation durchführen. Kann wahr oder falsch sein.

Schritt 3: Erstellen des AuthDelegate-Objekts für die Janrain-Integration

Livefyre.require stellt ein Plugin zur Verfügung, mit dem Autoren den Janrain Backplane Bus hören können.

Anmelden

Wenn eine Identitäts-/Anmelde-Nachricht im Backplane-Kanal gesendet wird, wird auth.authentication() mit dem Livefyre-Authentifizierungstoken des Benutzers für Sie aufgerufen. Sie müssen weiterhin einen AuthDelegate implementieren.

Livefyre.require(['auth', 'backplane-auth-plugin#0'], function(auth, backplanePluginFactory) { 
   auth.plugin(backplanePluginFactory('network.fyre.co')); 
   auth.delegate({ 
      login: function (finishLogin) { 
         loginWithCapture(finishLogin); 
      } 
   }); 
});
HINWEIS

Das window.Backplane-Objekt muss auf Ihrer Seite definiert werden, bevor auth.plugin mit dem Livefyre Backplane-Plug-In aufgerufen wird. Um sicherzustellen, dass das Backplane-Objekt verfügbar ist, rufen Sie den Livefyre-Instanziierungscode eines onReady-Rückrufs auf. Wenden Sie sich an Ihren Janrain-Kontakt, um festzustellen, wann andere Anwendungen das Backplane-Objekt verwenden können.

HINWEIS

Ihr Auth-Delegate hängt von Ihrer Janrain-Instanz ab.

Im Folgenden finden Sie einige Beispiele dafür, wie ein Auth-Delegierter nach einer Integration von Janrain Capture suchen könnte.

  • errback: Der Rückruf, der an die Anmeldemethode Ihres Authentidelegaten weitergeleitet wird
  • janrain: Der Verweis auf Ihre Janrain-Erfassungsvariable.
  • window.Backplane: Ein Verweis auf das Backplane-Objekt.
/** 
* Login function 
* In this case, opens a login modal and triggers Backplane to start listening 
* for login messages 
*/ 
authDelegate.login = function(finishLogin) { 
   var successCallback = function() { 
      // These need to be replaced with the actions that correspond to successful login  
      // and when the Janrain modal is closed. 
      janrain.events.onCaptureLoginSuccess.removeHandler(successCallback); 
      janrain.events.onModalClose.removeHandler(failureCallback); 
      finishLogin(); 
   }; 
  
   var failureCallback = function(e) { 
      janrain.events.onModalClose.removeHandler(failureCallback); 
      janrain.events.onCaptureLoginSuccess.removeHandler(successCallback); 
      finishLogin(e || new Error("Error logging in with Janrain Capture")); 
   }; 
  
   // Open the modal to log a user in 
   janrain.capture.ui.renderScreen('signIn'); 
   // Send a backplane message 
   window.Backplane.expectMessages('identity/login'); 
   // Add handlers to specific janrain events 
   janrain.events.onCaptureLoginSuccess.addHandler(successCallback); 
   janrain.events.onModalClose.addHandler(failureCallback); 
};

Abmeldung

  • finishLogout: Der Rückruf, der an die Anmeldemethode des Authentifizierungsdelegaten weitergeleitet wird.

  • window.Backplane: Ein Verweis auf das Backplane-Objekt.

/** 
* Logout function 
* In this case, invalidates the session and removes the cookie. 
* Also reloads the page to change state. In order to do this without a reload, 
* it would be necessary to also update the UI. 
*/ 
authDelegate.logout = function(finishLogout) { 
   Backplane.resetCookieChannel(); 
   janrain.capture.ui.endCaptureSession(); 
   finishLogout(); 
}; 

Profil bearbeiten

Dies kann zu jedem Teil der Site führen, den Sie zur Ansicht der eigenen Profil-Seite aufrufen möchten. In diesem Beispiel wird lediglich das übergebene Autorenobjekt ausgedruckt.

/** 
* Edit profile function 
* @param user - User who would like to edit their profile 
*/ 
authDelegate.editProfile = function(user) { 
   console.log(user); 
}; 

Ansicht Profil

Wie beim Bearbeiten von Profil sollte dieser Link zu einer Benutzerseite führen, die sich vom derzeit angemeldeten Benutzer unterscheidet. Dies kann implementiert werden, wie Sie es für richtig halten. In diesem Beispiel wird der Parameter author einfach in der Konsole protokolliert.

/** 
* View profile function 
* @param user - User or userId whose profile should be displayed 
*/ 
authDelegate.viewProfile = function(user) { 
   console.log(author); 
};

Schritt 4: Synchronisieren mit Livefyre mit Ping für Pull für Janrain Integration

Die Synchronisierung von Livefyre Remote-Profilen mit Ihrem Capture-Benutzerverwaltungssystem umfasst eine Reihe von Schritten, die als Ping for Pull bezeichnet werden. Dieser Vorgang erfordert, dass Sie ein gültiges Zugriffstoken von Janrain abrufen und dieses Token dann an einen in Schritt 3 unten angegebenen Endpunkt übergeben.

  1. Besorgen Sie sich einen Zugangscode von Janrain.

    Um den Zugriffscode abzurufen, geben Sie die erforderlichen Anmeldeinformationen ein, geben Sie "user_type"als "user"an und die uuid als die zu aktualisierende UID des aktuellen Benutzers. Weitere Informationen finden Sie unter https://developers.janrain.com/rest-api/methods/authentication/access-codes-and-tokens/getauthorizationcode/.

  2. Geben Sie den Zugriffscode für ein Zugriffstoken ein. Geben Sie die erforderlichen Anmeldeinformationen, den aus Schritt 1 erhaltenen Zugriffscode und geben Sie als "permission_code"den "grant_type"an.

    Weitere Informationen finden Sie unter https://developers.janrain.com/rest-api/methods/authentication/oauth/token/.

  3. Treten Sie auf den Endpunkt Livefyre "Ping to Pull Capture".

    Endpunkt-URL: https://{networkName}/api/v1.1/private/capture/profile_updated/?jrtoken={token} wobei {networkName} der Netzwerkname ist, der Ihnen von Livefyre bereitgestellt wird, und das jrtoken das Token ist, das Sie von Janrain in Schritt 2 erhalten haben.

    Sobald Sie diesen Endpunkt erreicht haben, erhalten Sie eine 202-Antwort und Livefyre beginnt einen asynchronen Prozess.

So funktioniert alles

Um von dieser integrierten Capture/Backplane-Integration zu profitieren, müssen Sie einige Konfigurationsänderungen an Ihrer Capture-App und Ihrer Livefyre.js-Integration vornehmen.

Janrain sendet erfolgreiche Anmelde-/Abmeldemeldungen über den Backplane-Bus, auf dem die Livefyre-App bei ordnungsgemäßer Konfiguration wartet. Diese Meldungen enthalten alle Informationen, die erforderlich sind, um App-Benutzer als angemeldet oder abgemeldet anzuzeigen. Entwickler können Backplane-Bus-Ansichten durch Prüfen der Registerkarte "Netzwerk"in der Entwicklerkonsole Ihres Browsers erstellen.

Beispiel für einen Anmeldungscode

Anfrage:

https://backplane1.janrainbackplane.com//bus/{CUSTOMER_NAME}/channel/{CHANNEL}?callback=Backplane.response&rnd=0.15930617856793106

Antwort:

Backplane.response([{ 
  "id": "2014-05-06T22:51:55.406Z-eZp1HB1F7B", 
  "channel_name": "{CHANNEL_NAME}", 
  "message": { 
    "source": "https://{CUSTOMER_DOMAIN}", 
    "type": "identity/login", 
    "sticky": true, 
    "payload": { 
      "context": "https://{CUSTOMER_DOMAIN}", 
      "identities": { 
        "startIndex": 0, 
        "itemsPerPage": 1, 
        "totalResults": 1, 
        "entry": { 
          "id": "https://{CUSTOMER}.janraincapture.com/oauth/public_profile?uuid={UNIQUE_USER_ID}", 
          "displayName": "{USER_DISPLAY_NAME}", 
          "accounts": [ 
            { 
              "username": "{USER_DISPLAY_NAME}", 
              "identityUrl": "https://{CUSTOMER}.janraincapture.com/oauth/public_profile?uuid={UNIQUE_USER_ID}", 
              "photos": [ 
                { 
                  "id": 48570146, 
                  "value": "https://lh3.googleusercontent.com/-h8poqH8hlgw/AAA/AAA1/QuHtbeHMJzc/photo.jpg?sz=50", 
                  "type": "other" 
                }, 
                { 
                  "id": 48570147, 
                  "value": "https://lh3.googleusercontent.com/-h8poqH8hlgw/AAA/AAA1/QuHtbeHMJzc/photo.jpg?sz=50", 
                  "type": "original" 
                }, 
                { 
                  "id": 48570148, 
                  "value": "https://lh3.googleusercontent.com/-h8poqH8hlgw/AAA/AAA1/QuHtbeHMJzc/photo.jpg?sz=50", 
                  "type": "large" 
                }, 
                { 
                  "value": "https://lh3.googleusercontent.com/-h8poqH8hlgw/AAA/AAA1/QuHtbeHMJzc/photo.jpg?sz=50", 
                  "type": "avatar" 
                } 
              ] 
            }, 
            { 
              "identityUrl": "{USER_PROFILE_LINK}" 
            } 
          ] 
        } 
      } 
    } 
  } 
} 
]);

Leere Antwort:

Backplane.response([]);

Beispiel für einen Abmelde-Code

Anfrage:

https://backplane1.janrainbackplane.com/v1.2/bus/{CUSTOMER}/channel/new?callback=Backplane.finishInit&rnd=0.1057701709214598

Antwort:

Backplane.finishInit("{CHANNEL}");

Wenn diese Nachrichten nicht in Ihren Netzwerkanforderungen angezeigt werden, wird Livefyre die Anmeldeversuche/Abmeldeversuche nicht kennen, daher kann Livefyre den Benutzer nicht in die App integrieren.

Auf dieser Seite

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now