Sie befinden sich hier:
Beispiel: Registrierungs-Handler-Flow für Authentifizierungsanbieter
Passen Sie zum Erstellen eines Registrierungs-Handler-Flows für Single Sign-On (SSO) die Vorlage "Authentifizierungsanbieter-Benutzerregistrierungs-Flow" an. Die Vorlage erstellt und aktualisiert interne und externe Benutzer. Hier erfahren Sie, wie Sie die aufrufbaren Aktionen "Benutzerdaten aus JSON-Zeichenfolge abrufen" und "Benutzerdaten generieren" verwenden. Außerdem wird gezeigt, wie Sie Berechtigungssatzzuweisungen verwalten.
Erforderliche Editionen
| Verfügbarkeit: Lightning Experience und Salesforce Classic |
| Verfügbarkeit: Enterprise, Performance, Unlimited und Developer Edition |
Bevor Sie beginnen: Machen Sie sich mit Flows vertraut
Wenn Sie mit Flows noch nicht vertraut sind, verwenden Sie diese Ressourcen, um sich auf den neuesten Stand zu bringen.
- Trailhead Ressourcen:
- Salesforce-Hilferessourcen
Anzeigen des Flows
Verwenden Sie zum Anzeigen der Vorlage unter "Setup" das Feld "Schnellsuche", um Flows zu suchen und auszuwählen. Klicken Sie auf Neuer Flow und wählen Sie die Vorlage Benutzerregistrierung für Authentifizierungsanbieter aus.
Der Flow besteht aus vielen verschiedenen Elementen, einschließlich Entscheidungs-, Aktions- und Zuweisungselementen. Klicken Sie auf das Element, um Details für ein bestimmtes Element anzuzeigen. Es wird empfohlen, sich durch jedes Element zu klicken, während Sie diesem Dokument folgen.
Sie sollten sich auch mit den Variablen vertraut machen, die in diesem Flow enthalten sind. Öffnen Sie zum Anzeigen aller Variablen die Toolbox. Klicken Sie auf den Variablennamen, um mehr über eine bestimmte Variable zu erfahren, beispielsweise ihre Eigenschaften und wo sie im Flow verwendet wird.
Starten des Flows
Der Flow beginnt mit dem Element Start . Wenn der Flow für diesen Flow-Typ in der Authentifizierungsanbieterdefinition als Registrierungs-Handler konfiguriert ist, wird der Flow während des SSO automatisch gestartet. Nachdem der Identitätsanbieter den Benutzer authentifiziert hat, gibt er Benutzerinformationen an Salesforce zurück. Salesforce verwendet diese Informationen zum Erstellen eines Auth.UserData. Zu diesem Zeitpunkt beginnt der Flow.
Abrufen von Informationen vom Identitätsanbieter
Der Flow beginnt, indem Informationen vom Identitätsanbieter abgerufen werden. Wenn Salesforce das Auth.UserData-Objekt erstellt, werden die Benutzerinfoantwort und das ID-Token des Identitätsanbieters, sofern zurückgegeben, angezeigt. Wenn Sie bestimmte Informationen aus diesen Antworten abrufen möchten, können Sie die Aktion "Benutzerdaten aus JSON-Zeichenfolge abrufen" verwenden.
Für die Aktion werden zwei Eingabeparameter verwendet. Der erste Eingabeparameter ist die JSON-Objektzeichenfolge. Geben Sie in diesem Parameter die Benutzerinfoantwort oder das ID-Token an. Verweisen Sie zum Angeben der Benutzerinfoantwort oder des ID-Tokens auf Felder im Auth.UserData-Objekt.
- Die vollständige Antwort auf Benutzerinformationen wird im Feld "
userInfoJSONString" gespeichert. - Die decodierte JSON-Webtoken-Nutzlast (JWT) des ID-Tokens wird im Feld
idTokenJSONStringgespeichert.
Die Vorlage enthält eine Apex-definierte Variable, authUserData, zum Speichern des Auth.UserData -Objekts. Verwenden Sie diese Variable, um als Eingabeparameter auf die userInfoJSONString- oder idTokenJSONString aus authUserData zu verweisen, beispielsweise {!authUserData.userInfoJSONString}.
Der zweite Eingabeparameter ist der JSON-Attributschlüssel. Geben Sie in diesem Parameter den JSON-Variablenpfad für ein bestimmtes Attribut an, das Sie abrufen möchten. Stellen Sie sich beispielsweise eine JSON-Zeichenfolge mit verschachtelten Attributen vor.
{"location": [ { "type": "office", "city": "San Francisco"}, {"type": "home", "city":"New York"}]}Verwenden Sie diesen JSON-Variablenpfad, um den Wert des Attributs type für den ersten Standort abzurufen: $.location[0].type hinzu.
Die Aktion gibt den Wert des Attributs zurück und speichert den Wert in einer Instanz der Apex-Klasse JsonValueOutput. Weisen Sie sie einer Variablen manuell zu, um sie später im Flow einfach zu verwenden. Beispielsweise ruft die Aktion in der Vorlage einen Benutzer-ID-Wert ab und speichert ihn in der Variablen federationIdentifier. Wenn Sie zur Toolbox wechseln und auf federationIdentifier klicken, können Sie sehen, dass diese Apex-definierte Variable die Klasse JsonValueOutput verwendet.
Im Folgenden finden Sie eine Zusammenfassung der Funktionsweise dieser Aktion.
| Task | Flow-Element | Name des Flow-Elements in der Vorlage | Funktionsweise |
|---|---|---|---|
| Rufen Sie Benutzerinformationen aus dem vom Identitätsanbieter zurückgegebenen ID-Token oder der Antwort auf Benutzerinformationen ab. | Aufrufbare Aktion 'Benutzerdaten aus JSON-Zeichenfolge abrufen' | Abrufen von Benutzerdaten aus JSON-Zeichenfolge | Für diese Aktion sind zwei Eingabeparameter erforderlich:
Die Aktion gibt den Wert des im JSON-Attributschlüssel angegebenen Attributs zurück. Jede Aktion gibt eine Instanz der |
Festlegen, ob ein Benutzer erstellt oder aktualisiert werden soll
Nachdem der Flow Benutzerinformationen abgerufen hat, können Sie die erste Entscheidung im Flow treffen: ob ein Benutzer erstellt oder ein vorhandener Benutzer aktualisiert werden soll. Damit Sie diese mehrteilige Entscheidung treffen können, müssen Sie wissen, wie Salesforce Benutzer mit dem Identitätsanbieter verknüpft.
Wenn sich ein Benutzer über einen Identitätsanbieter mit dem Authentifizierungsanbieter-Framework bei Salesforce anmeldet, erstellt Salesforce einen ThirdPartyAccountLink-Datensatz. Sie können diesen Datensatz in Ihrem Flow verwenden, um festzustellen, ob sich ein bestimmter Benutzer zuvor bei diesem Identitätsanbieter authentifiziert hat.
Salesforce schließt eine vorhandeneUserIdFromTpal-Variable in den Flow ein, um diesen Prozess zu vereinfachen. Diese Variable wird als zur Eingabe verfügbar markiert, d. h., der Wert stammt von außerhalb des Flows. In der Vorlage legt Salesforce diesen Wert automatisch fest, wenn der Flow ausgeführt wird. Zum Festlegen des Werts verwendet Salesforce die Drittanbieterkennung des Identitätsanbieters, um nach einem ThirdPartyAccountLink mit einem übereinstimmenden remoteIdentifier-Wert zu suchen. Wenn Salesforce einen ThirdPartyAccountLink findet, speichert es den Wert seiner UserId in der vorhandenenUserIdFromTpal-Variablen.
Wenn sich der Benutzer zuvor beim Identitätsanbieter authentifiziert hat, ist der Benutzer in Salesforce vorhanden und der Flow kann mit der Aktualisierung des Benutzers fortfahren. In der Vorlage wird auf einen Benutzer verwiesen, der über einen ThirdPartyAccountLink als verknüpften Benutzer verfügt.
Wenn sich der Benutzer nicht beim Identitätsanbieter authentifiziert hat, wissen Sie nicht, ob der Benutzer in Salesforce vorhanden ist. Es ist möglich, dass der Benutzer in Salesforce vorhanden ist, diesen Identitätsanbieter jedoch noch nicht verwendet hat. Um zu bestimmen, ob der Benutzer vorhanden ist, verwendet der Flow die im Auth.UserData-Objekt zurückgegebenen Informationen des Identitätsanbieters. Er sucht nach einem Benutzerdatensatz mit Attributwerten, die mit Werten im Auth.UserData-Objekt übereinstimmen.
Wenn der Flow einen übereinstimmenden Benutzer findet, aktualisiert er die Benutzerinformationen des Identitätsanbieters. In der Vorlage wird auf einen Benutzer verwiesen, der vorhanden ist, aber nicht über einen ThirdPartyAccountLink als vorhandenen Benutzer verfügt. Wenn der Flow keinen passenden Benutzer findet, ist es an der Zeit, einen Benutzer zu erstellen.
So führt die Vorlage diese Aufgaben aus.
| Task | Flow-Elementtyp | Name des Flow-Elements in der Vorlage | Funktionsweise |
|---|---|---|---|
| Festlegen, ob Sie den Benutzer sofort aktualisieren können oder ob Sie weiterhin nach einem Benutzer suchen müssen, je nachdem, ob sich der Benutzer zuvor bei diesem Identitätsanbieter authentifiziert hat | Entscheidung | Ist der Drittanbieteraccount verknüpft? | Überprüft, ob ein ThirdPartyAccountLink vorhanden ist, indem nach einem Wert für die vorhandene Variable UserIdFromTpal gesucht wird. Wenn existingUserIdFromTpal null ist, lautet das Ergebnis "Nein" und der Flow fährt mit dem Element "Vorhandenen Benutzer suchen" fort. Wenn ein Wert für existingUserIdFromTpal vorhanden ist, lautet das Ergebnis Ja und der Flow fährt mit der Aktualisierung des verknüpften Benutzers fort. |
Wenn sich der Benutzer noch nicht beim Identitätsanbieter authentifiziert hat, suchen Sie nach einem vorhandenen Benutzerdatensatz, der mit Informationen aus dem
Auth.UserData Objekt übereinstimmt. |
Datensätze abrufen | Vorhandenen Benutzer suchen | Sucht nach einem Benutzerdatensatz mit Attributen wie E-Mail-Adresse, die mit Attributen aus dem Apex In der Vorlage filtert das Element nach Benutzerdatensätzen, bei denen der Wert des Felds E-Mail im Benutzerdatensatz mit dem Wert des Felds |
| Festlegen, ob ein Benutzer aktualisiert oder erstellt werden soll | Entscheidung | Wurde vorhandener Benutzer gefunden? | Legt fest, ob ein Benutzer erstellt oder ein vorhandener Benutzer aktualisiert werden soll, indem überprüft wird, ob das Element "Vorhandenen Benutzer suchen" einen Benutzerdatensatz zurückgegeben hat. Wenn die Aktion "Vorhandenen Benutzer suchen" eine Benutzer-ID zurückgegeben hat, lautet das Ergebnis "Ja" und der Flow fährt mit der Aktualisierung des vorhandenen Benutzers fort. Wenn kein übereinstimmender Benutzer vorhanden ist, lautet das Ergebnis "Nein" und der Flow erstellt einen Benutzer. |
Generieren von Benutzerdaten
Wenn Sie feststellen, dass 1) der Benutzer sich noch nicht angemeldet hat und 2) keine übereinstimmenden Benutzerinformationen in Salesforce vorhanden sind, ist es an der Zeit, einen Benutzer zu erstellen. Voraussetzung für die Erstellung eines Benutzers ist, dass genügend Benutzerdaten vorhanden sind, um einen vollständigen Benutzerdatensatz zu erstellen. In einigen Fällen gibt der Identitätsanbieter nicht genügend Informationen zurück, um einen vollständigen Benutzerdatensatz in Salesforce zu erstellen. Wenn dies der Fall ist, verwenden Sie die aufrufbare Aktion "Benutzerdaten generieren", um Platzhalterwerte für die fehlenden Benutzerdaten zu generieren. Sie können die Werte später aktualisieren.
Für diese Aktion werden keine Eingabeparameter verwendet. Die Ausgabe ist ein Satz von Platzhalterwerten für diese Felder. Hier die Felder und Standardwerte.
| Benutzerfeld | Generierter Platzhalterwert |
|---|---|
alias |
alias |
email |
placeholder-email@example.com |
emailEncodingKey |
Ein Standardwert, der auf dem Benutzerkontext basiert. |
firstName |
Platzhalter-Vorname |
languageLocaleKey |
Ein Standardwert, der auf dem Benutzerkontext basiert. |
lastName |
Platzhalter-Nachname |
localeSidKey |
Ein Standardwert, der auf dem Benutzerkontext basiert. |
timeZoneSidKey |
Ein Standardwert, der auf dem Benutzerkontext basiert. |
username |
placeholder-username<uniqueNumber>@example.com Beispiel: placeholder-username17300000000000@example.com. Die eindeutige Nummer ist 14-stellig. |
Die generierten Benutzerdaten werden in einer Instanz der Klasse GeneratedUserData Apex gespeichert. Wenn der Flow später einen Benutzer erstellt, werden die Werte der Felder im Objekt "Benutzer" mithilfe der Ausgaben dieser Aktion festgelegt. Hier eine Zusammenfassung dieser Aktion.
| Task | Flow-Elementtyp | Name des Flow-Elements in der Vorlage | Funktionsweise |
|---|---|---|---|
| Generieren von Platzhalterwerten für Benutzerdaten, die nicht vom Identitätsanbieter bereitgestellt werden | Aufrufbare Aktion 'Benutzerdaten generieren' | Generieren von Benutzerdaten | Generiert Platzhalterwerte für die Felder, die zum Erstellen eines Benutzers erforderlich sind, einschließlich eines eindeutigen Platzhalter-Benutzernamens. Verweisen Sie später beim Erstellen eines Benutzers auf die Werte. Legen Sie beispielsweise das Feld Alias im Benutzerobjekt auf {!GenerateUserData.generatedUserData.alias} fest. |
Festlegen, welcher Benutzertyp erstellt werden soll
Wenn Sie Ihren Flow für Salesforce-Organisationen und Experience Cloud-Sites verwenden, sollten Sie eine Möglichkeit angeben, um zu entscheiden, ob ein interner Benutzer, beispielsweise ein Mitarbeiter oder Vertragsnehmer, oder ein externer Benutzer, beispielsweise ein Kunde oder Partner, erstellt werden soll. Für jeden Benutzertyp gelten unterschiedliche Anforderungen. Sowohl interne als auch externe Benutzer benötigen ein Profil, externe Benutzer benötigen jedoch auch einen Account und einen Kontakt.
Die Vorlage enthält eine boolesche Variable IsUserExternal, die als Eingabe für den Flow verwendet wird, um zu entscheiden, welchen Benutzertyp Sie erstellen möchten. Salesforce legt den Wert dieser Variablen automatisch basierend darauf fest, ob sich der Benutzer bei einer Salesforce-Organisation oder einer Experience Cloud-Site anmeldet.
| Task | Flow-Elementtyp | Name des Flow-Elements in der Vorlage | Funktionsweise |
|---|---|---|---|
| Bestimmen, ob ein interner oder externer Benutzer erstellt werden soll | Entscheidung | Ist Benutzer extern? | In der Vorlage überprüft diese Entscheidung, ob der Wert des booleschen Werts isExternalUser wahr oder falsch ist. Wenn es sich bei dem Benutzer um einen internen Benutzer handelt, lautet das Ergebnis "Nein" und der Flow fährt fort, ein Profil zuzuweisen und den Benutzer zu erstellen. Wenn es sich bei dem Benutzer um einen externen Benutzer handelt, lautet das Ergebnis "Ja" und der Flow fährt fort, dem Benutzer einen Account und Kontakt zuzuweisen. |
Verarbeiten von Profilzuweisungen für neue Benutzer
Zum Erstellen eines internen oder externen Benutzers müssen Sie ein Profil zuweisen. Salesforce unterstützt diese Möglichkeiten zum Angeben des Standardprofils.
- Geben Sie beim Definieren Ihres Authentifizierungsanbieters ein Standardprofil an. Die Variable defaultProfileId in der Vorlage speichert diesen Wert automatisch.
- Geben Sie ein Standardprofil in Ihrem Flow an.
Wenn Sie in der Authentifizierungsanbieterdefinition und im Flow ein Standardprofil angeben, verwendet Salesforce den im Flow angegebenen Wert.
Die Vorlage zeigt Ihnen beide Möglichkeiten zum Festlegen eines Profils. Bei externen Benutzern verwendet die Vorlage das im Authentifizierungsanbieter angegebene Profil und es sind keine zusätzlichen Schritte im Flow zum Festlegen eines Profils erforderlich.
Für interne Benutzer gibt die Vorlage ein Standardprofil im Flow mithilfe eines Elements vom Typ "Datensätze abrufen" an.
| Task | Flow-Elementtyp | Name des Flow-Elements in der Vorlage | Funktionsweise |
|---|---|---|---|
| Legen Sie ein Standardprofil für neue Benutzer fest. | Datensätze abrufen | Benutzerprofil abrufen | Findet ein bestimmtes Profil und aktualisiert dann die Variable defaultProfileId, um diesen Wert zu speichern. Die Vorlage filtert nach dem Profilnamen, um das Standardbenutzerprofil zu finden. Die Aktion ist so konfiguriert, dass die ID des übereinstimmenden Profils in der Variablen defaultProfileId gespeichert wird. |
Verarbeiten der Account- und Kontaktzuweisung für neue externe Benutzer
Zum Erstellen eines externen Benutzers müssen Sie ihn einem Account zuweisen und einen Kontakt erstellen, der den Benutzer mit dem Account verknüpft. Salesforce unterstützt verschiedene Möglichkeiten, den Standardaccount für neue externe Benutzer zuzuweisen.
- Geben Sie beim Definieren Ihres Authentifizierungsanbieters einen Standardaccount an. Die Variable defaultAccountId in der Vorlage speichert diesen Wert automatisch.
- Erstellen Sie einen Standardaccount in Ihrem Flow.
Wenn Sie sowohl in der Authentifizierungsanbieterdefinition als auch im Flow einen Standardaccount angeben, verwendet Salesforce den im Flow angegebenen Wert.
So geht die Vorlage mit diesen Schritten um.
| Task | Flow-Elementtyp | Name des Flow-Elements in der Vorlage | Funktionsweise |
|---|---|---|---|
| Legen Sie fest, ob ein Standardaccount erstellt werden soll, indem Sie überprüfen, ob in der Authentifizierungsanbieterdefinition ein Standardaccount angegeben ist. | Entscheidung | Ist "Standardaccount" definiert? | Bei dieser Entscheidung wird in der Vorlage überprüft, ob in der Variablen defaultAccountId ein Wert vorhanden ist. Salesforce legt den Wert dieser Variablen automatisch anhand des in der Authentifizierungsanbieterdefinition angegebenen Standardaccounts fest. Falls Ja, verwendet der Flow den Wert der Variablen defaultAccountId für den neuen Benutzer. Wenn Nein, erstellt der Flow einen Account. |
| Wenn in der Authentifizierungsanbieterdefinition kein Standardaccount angegeben ist, erstellen Sie einen Standardaccount für neue Benutzer. | Erstellen von Datensätzen | Create Account (Account erstellen) | Erstellt einen Account mit dem Namen Social Sign-On und weist ihn als defaultAccountId zu. Wenn Sie bei der ersten Ausführung des Flows nur einen Account erstellen möchten, sollten Sie dieses Element konfigurieren, um doppelte Datensätze zu verhindern. Wenn ein Account mit dem Namen "Social Sign-On" vorhanden ist, erstellt der Flow keinen Account. |
| Erstellen eines Kontakts für den neuen Benutzer | Erstellen von Datensätzen | Create Contact (Kontakt erstellen) | Erstellt einen Kontakt mit Informationen aus dem Auth.UserData-Objekt und ordnet den Kontakt dem Standardaccount zu, indem das Feld Account-ID auf den Wert der Variablen defaultAccountId festgelegt wird. |
Erstellen eines Benutzers und Verwalten von Berechtigungssätzen
Nachdem der Flow Profil-, Account- und Kontaktzuweisungen für neue Benutzer verarbeitet hat, erstellt er schließlich den Benutzerdatensatz und weist Berechtigungssätze zu. Für diesen Abschnitt des Flows ist es wichtig, diese Schritte in dieser Reihenfolge auszuführen.
- (1) Erstellen Sie den Benutzerdatensatz.
- (2) Weisen Sie der Variablen userIdOutput die neue Benutzer-ID zu. Im Hintergrund verwendet Salesforce diese Variable, um Berechtigungssatzzuweisungen abzuschließen.
- (3) Weisen Sie dem erstellten Benutzer Berechtigungssätze zu.
Nach dem dritten Schritt ist der Benutzererstellungsprozess abgeschlossen. Wenn sich ein Benutzer anmeldet und der Flow feststellt, dass er in Salesforce nicht vorhanden ist, erstellt der Flow einen Benutzerdatensatz. Beim Anmeldevorgang wird auch ein ThirdPartyAccountLink erstellt. Wenn sich der Benutzer das nächste Mal anmeldet, wird er vom Flow als verknüpfter Benutzer behandelt.
| Task | Flow-Elementtyp | Name des Flow-Elements in der Vorlage | Funktionsweise |
|---|---|---|---|
| Erstellen Sie den Benutzer. | Erstellen von Datensätzen | Benutzer erstellen | Erstellt einen Benutzerdatensatz, indem Informationen aus dem Auth.UserData-Objekt für einige Felder wie den Vornamen verwendet werden. Bei anderen Feldern werden die durch die Aktion "Benutzerdaten generieren" generierten Platzhalterwerte verwendet, beispielsweise {!GenerateUserData.generatedUserData.alias}. Andere Werte wie Sprache werden direkt im Flow festgelegt. Der Kontakt wird als Kontakt-ID aus dem Element "Kontakt erstellen" festgelegt. |
| Weisen Sie die Benutzer-ID für den neuen Benutzer einer Ausgabevariablen zu, damit die Salesforce-Laufzeit zusätzliche Zuweisungen wie das Zuweisen von Berechtigungssätzen abschließen kann. Dieser Schritt ist erforderlich, wenn Sie einen Benutzer erstellen. | Zuweisung | Zuweisen der erstellten Benutzer-ID zu Ausgabevariablen | Weist der Variablen userIdOutput die Benutzer-ID für den erstellten Benutzer zu. |
| Steuern des Benutzerzugriffs durch Hinzufügen von Berechtigungssätzen | Zuweisung | Verwalten von Berechtigungssätzen für erstellte Benutzer | Fügt dem aktualisierten vorhandenen Benutzer Berechtigungssätze basierend auf der gewünschten Zugriffsebene hinzu. Die Flow-Vorlage verwendet die Variable permissionSetsToAdd, um die API-Namen des Berechtigungssatzes zu speichern. Berechtigungssätze können nicht von einem erstellten Benutzer entfernt werden. Wenn Sie permissionSetsToRemove in diese Zuweisung aufnehmen, schlägt der Flow mit einem Ausführungsfehler fehl. |
Aktualisieren eines vorhandenen Benutzers
Nachdem die Schritte zum Erstellen eines Benutzers nun überprüft wurden, sehen wir uns die Prozesse zum Aktualisieren von Benutzern an. Wechseln Sie in der Vorlage zurück zur Entscheidung Wurde vorhandener Benutzer gefunden?. Wenn das Ergebnis dieser Entscheidung "Ja" lautet, bedeutet dies, dass 1) der angemeldete Benutzer nicht über einen ThirdPartyAccountLink verfügt und 2) der Benutzer in Salesforce vorhanden ist. Ein Benutzer, der diese Kriterien erfüllt, wird als vorhandener Benutzer bezeichnet.
Wenn Sie den vorhandenen Benutzer mit Informationen des Identitätsanbieters aktualisieren möchten, verwenden Sie das Element "Datensätze aktualisieren", um Informationen aus dem Auth.UserData -Objekt in den Benutzerdatensatz abzurufen. Optional können Sie Berechtigungssätze hinzufügen oder entfernen, je nachdem, welche Zugriffsebene der Benutzer haben soll.
Wenn sich ein Benutzer anmeldet und der Flow feststellt, dass er in Salesforce vorhanden ist, jedoch nicht über einen ThirdPartyAccountLink verfügt, aktualisiert der Flow den Benutzer. Beim Anmeldevorgang wird auch ein ThirdPartyAccountLink erstellt. Wenn sich dieser Benutzer das nächste Mal anmeldet, behandelt der Flow ihn als verknüpften Benutzer.
So führt die Vorlage diese Schritte aus.
| Task | Flow-Elementtyp | Name des Flow-Elements in der Vorlage | Funktionsweise |
|---|---|---|---|
| Aktualisieren des vorhandenen Benutzers mit Informationen des Identitätsanbieters | Datensätze aktualisieren | Aktualisieren vorhandener Benutzer | Aktualisiert den vorhandenen Benutzerdatensatz mit Informationen aus dem Auth.UserData-Objekt. Zum Angeben des Benutzerdatensatzes wird nach Datensätzen gefiltert, bei denen die Benutzer-ID mit der vom Element "Vorhandenen Benutzer suchen" ({!FindExistingUser.Id}) zurückgegebenen Benutzer-ID übereinstimmt. |
| Weisen Sie die Benutzer-ID für den aktualisierten vorhandenen Benutzer einer Ausgabevariablen zu, damit die Salesforce-Laufzeit zusätzliche Zuweisungen wie das Zuweisen von Berechtigungssätzen abschließen kann. Dieser Schritt ist erforderlich, wenn Sie einen Benutzer erstellen, jedoch nicht, um einen vorhandenen Benutzer zu aktualisieren. Sie können sie aus Konsistenzgründen einfügen oder sie vollständig entfernen. | Zuweisung | Aktualisierte Benutzer-ID zu Ausgabevariablen zuweisen | Aktualisiert den Wert der Variablen userIdOutput auf die vorhandene Benutzer-ID. |
| Steuern des Benutzerzugriffs durch Hinzufügen oder Entfernen von Berechtigungssätzen | Zuweisung | Verwalten von Berechtigungssätzen für aktualisierte Benutzer | Fügt Berechtigungssätze dem aktualisierten vorhandenen Benutzer basierend auf der gewünschten Zugriffsebene hinzu oder entfernt ihn. Die Flow-Vorlage verwendet die Variablen permissionSetsToAdd und permissionSetsToRemove, um die API-Namen des Berechtigungssatzes zu speichern. |
Aktualisieren eines verknüpften Benutzers
Wechseln Sie in der Vorlage zurück zur Entscheidung "Ist Drittanbieteraccount verknüpft?". Wenn das Ergebnis dieser Entscheidung "Ja" lautet, bedeutet dies, dass der angemeldete Benutzer über einen ThirdPartyAccountLink verfügt und daher in Salesforce vorhanden ist. Ein Benutzer mit einem ThirdPartyAccountLink wird als verknüpfter Benutzer bezeichnet. Der Flow kann den verknüpften Benutzer anhand der Informationen des Identitätsanbieters aktualisieren. Diese Schritte ähneln den Schritten zum Aktualisieren eines vorhandenen Benutzers.
| Task | Flow-Elementtyp | Name des Flow-Elements in der Vorlage | Funktionsweise |
|---|---|---|---|
| Aktualisieren des verknüpften Benutzers mit Informationen des Identitätsanbieters | Datensätze aktualisieren | Aktualisieren des verknüpften Benutzers | Aktualisiert den verknüpften Benutzerdatensatz mit Informationen aus dem Auth.UserData-Objekt sowie dem Kennzeichner, der aus der Aktion "Benutzerdaten aus JSON-Zeichenfolge abrufen" zurückgegeben wird (in der Variablen federationIdentifier gespeichert). Zum Angeben des Benutzerdatensatzes wird nach Datensätzen gefiltert, bei denen die Benutzer-ID mit dem Wert der existingUserIdFromTpal übereinstimmt. |
| Weisen Sie die Benutzer-ID für den aktualisierten vorhandenen Benutzer einer Ausgabevariablen zu, damit die Salesforce-Laufzeit zusätzliche Zuweisungen wie das Zuweisen von Berechtigungssätzen abschließen kann. Dieser Schritt ist erforderlich, wenn Sie einen Benutzer erstellen, jedoch nicht, um einen verknüpften Benutzer zu aktualisieren. Sie können sie aus Konsistenzgründen einfügen oder sie vollständig entfernen. | Zuweisung | Zuweisen der verknüpften Benutzer-ID zur Ausgabevariablen | Aktualisiert den Wert der Variablen userIdOutput auf die verknüpfte Benutzer-ID. |
| Steuern des Benutzerzugriffs durch Hinzufügen oder Entfernen von Berechtigungssätzen | Zuweisung | Verwalten von Berechtigungssätzen für verknüpfte Benutzer | Fügt Berechtigungssätze dem aktualisierten verknüpften Benutzer basierend auf der gewünschten Zugriffsebene hinzu oder entfernt ihn. Die Flow-Vorlage verwendet die Variablen permissionSetsToAdd und permissionSetsToRemove, um die API-Namen des Berechtigungssatzes zu speichern. |
Nächste Schritte
Wenn Sie wissen, wie die einzelnen Teile der Vorlage funktionieren, passen Sie die Vorlage an Ihren Anwendungsfall an. Fügen Sie Ihren Flow beim Definieren eines Authentifizierungsanbieters hinzu.
Stellen Sie sicher, dass Sie wissen, wie Sie Ihren Flow testen, bereitstellen und überwachen. Weitere Informationen finden Sie in den folgenden Ressourcen.
