Ich möchte verschiedene Bildschirme anzeigen, basierend darauf, welche verbundene App zum Anmelden bei Salesforce verwendet wird. Kann der Anmeldefluss irgendwie wissen, welche verbundene App verwendet wird?

Es gibt mehrere Anmeldeflussvariablen , die wir nutzen können, aber keine davon enthält die verbundene App.

Keine der folgenden Optionen scheint für dieses Szenario nützlich zu sein ( source ):

  • LoginFlow_LoginType – Mit dieser Variablen können Sie einen Benutzertyp für Flow / Org festlegen.
  • LoginFlow_IpAddress – Diese Variable fungiert als IP-Adresse eines Benutzers. Über diese Variable können Sie eine IP-Adresse für einen Benutzer, ein Profil und andere benutzerbezogene Felder delegieren.
  • LoginFlow_UserAgent – Diese Variable steht als Browserzeichenfolge des Benutzers. Außerdem können Sie Benutzer davon abhalten, den Internet Explorer zu verwenden, um sich bei Ihrer Organisation anzumelden.
  • LoginFlow_Platform – Diese Variable zeigt Ihnen, von welcher Art von System (d. h. Mac OSX) sich Ihre Benutzer anmelden.
  • LoginFlow_Application – Ähnlich der obigen Variablen; Es wird jedoch angezeigt, von welcher Art von Gerät sich Ihre Benutzer anmelden (z. B. iPhone, Tablet, Desktop usw.), damit Sie wissen, an welchen Endort sie verschoben werden sollen.
  • LoginFlow_Community – Diese Variable zeigt gegebenenfalls an, in welcher Community sich Ihr Benutzer gerade befindet. LoginFlow_SessionLevel – Diese Variable ist für die Sicherheit verantwortlich und arbeitet entweder mit hoher oder Standard-Sicherheit.
  • LoginFlow_UserId – Diese Variable dient zur Anzeige von Zeichen-IDs (bis zu 18 Zeichen lang) und ermöglicht es Ihnen, Ihre Benutzer zu suchen und das System zu durchsuchen, um ähnliche Felder zu finden.

Kommentare

  • Wird ein einzelner Benutzer zugewiesen, um sich von mehr als einer verbundenen App bei Ihrer Organisation anzumelden? Melden sie sich auch mit SSO an oder verwenden sie ihre Benutzer-ID / PW?
  • Ja, sie können sich mit mehreren verbundenen Apps anmelden. Salesforce ist der Identitätsanbieter, sodass sie ihren Salesforce-Benutzernamen / ihr Kennwort oder Facebook- oder Google Auth-Anbieter verwenden können.
  • Gilt dies für ALLE Benutzer (intern & extern) ) oder nur für Community User? Wenn nur für Community-Benutzer, kann ich eine Lösung anbieten. Wenn für alle Benutzer, haben Sie möglicherweise kein Glück.
  • Nur Community-Benutzer. Wir verwenden die Community Login-Lizenz für IdP.

Antwort

Möglicherweise haben Sie Glück. Es gibt etwas, das als ExperienceID oder expid bezeichnet wird und möglicherweise verwendet werden kann, um das zu erreichen, was Sie erreichen möchten. Sein Hauptzweck besteht darin, das „Branding-Erlebnis“ für Kunden abhängig anpassen zu können Informationen dazu, woher sie an Ihre Community gesendet werden.

Weitere Informationen finden Sie unter diesem Link zum Implementierungshandbuch für externe Salesforce-Identität Lesen Sie auch . Ändern Sie die Anmeldeerfahrung Ihrer Benutzer mit Dynamic Branding in den Versionshinweisen zu Winter 18 . Wenn Sie jede verbundene App mit einer anderen scheint es mir, dass Sie damit mit Ihren verbundenen Apps das erreichen können, was Sie wollen, indem Sie jeder App ein eindeutiges Expid zuweisen.

Die ExperienceID kann dann verwendet werden, um eine zu erweitern Endpunkt mit einer von zwei verschiedenen Strategien, wie unten gezeigt.

Erweitern Sie die folgenden Endpunkte mit expid_value.

  • Community-URL / services / oauth2 / authorize / expid_value
  • Community-URL / idp / endpoint / HttpPost / expid_value
  • Community-URL / idp / endpoint / HttpRedirect / expid_value

Erweitern Sie die folgenden Endpunkte mit expid = {value}.

  • community-url_login_page? Expid = {value}
  • community-url / CommunitiesSelfReg? Expid = {value}
  • Community-URL / .well-bekannte / Auth-Konfiguration? expid = {Wert}

Übergeben Sie einen anderen Expid-Wert an die Selbstregistrierungsseite, um jeweils einen anderen Registrierungsablauf bereitzustellen Marke.

Der Erfahrungs-ID-Wert wird in einem Cookie und nicht in der URL erfasst. Wenn der expid_value beispielsweise auf Customers gesetzt ist, hat ein zugehöriges Cookie den Wert expid_Customers.

Kommentare

  • ziemlich clevere Antwort
  • Die Frage, die sie an " stellen, wie man in einem Anmeldefluss auf das Expid zugreift? "
  • @FernandoGavinho Es hängt davon ab, ob Sie ' es in einem Cookie oder als Teil des Expid-Werts übergeben haben, der in einem Community-Benutzer gespeichert werden kann ' s Profil. Sie können es auch als Startparameter für Ihren Anmeldefluss verwenden, da Sie ' damit den Anmeldeendpunkt erweitert haben.Es scheint, dass Sie ' viele Optionen haben, je nachdem, wie Sie es von Ihrer verbundenen App übergeben.
  • In meinem Anwendungsfall verwende ich den SSO-Endpunkt " Community-URL / idp / endpoint / HttpPost / expid_value ". ' weiß jedoch nicht, wie ich auf diesen Wert im Flow zugreifen soll. Ich könnte, wenn es eine Visualforce-Seite wäre, aber gibt es eine Möglichkeit, im Flow darauf zuzugreifen? Vielleicht eine Variable nur zur Eingabe benennen? Ich habe versucht, " expid " und " ExpId ", aber es scheint nicht zu funktionieren.
  • Ich habe es gefunden. Um auf die expId im Anmeldefluss zuzugreifen, müssen Sie die System.Site.getExperienceId () -Methode aufrufen. Dies kann in der Steuerung erfolgen, wenn ' eine Visualforce-Seite ist, oder in einer InvocableMethod, wenn ' ein visueller Fluss ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.