Inlogstroomvoorbeelden
U kunt een inlogstroom gebruiken voor het aanpassen van de inlogomgeving en het integreren van bedrijfsprocessen in Salesforce authenticatie. Veel voorkomende gebruikscases omvatten het verzamelen en bijwerken van gebruikersgegevens tijdens inloggen, configureren van multi-factorenauthenticatie of het integreren van externe strenge authenticatiemethoden.
Vereiste editions
| Beschikbaar in: zowel Salesforce Classic als Lightning Experience |
| Beschikbaar in: Essentials, Professional, Enterprise, Performance, Unlimited en Developer Edition |
Laten we eens kijken naar drie veel voorkomende gebruikscases voor inlogstromen:
- Gebruikersgegevens verzamelen en bijwerken tijdens inloggen
- Aangepaste multi-factorenauthenticatie (MFA) toepassen
- Externe strenge authenticatiemechanismen integreren
Gebruikersgegevens verzamelen en bijwerken tijdens inloggen
Deze inlogstroom vraagt gebruikers om hun telefoonnummers te bevestigen of bij te werken, die dan vervolgens worden bijgewerkt in hun gebruikersaccounts.
- Vraag bij het gebruikersobject de telefoonnummers van de gebruiker op, als die er zijn.
- Geef de nummers weer en vraag de gebruiker om ze te bevestigen of bij te werken.
- Werk het gebruikersobject bij met nieuwe nummers, indien opgegeven.
De stroom maken
- Ga naar https://help.salesforce.com/articleView?id=flow_builder.htm&language=nl_NL.
-
Klik vanaf het tabblad Beheer in de toolbox op Nieuwe resource en maak een variabele voor de opslag van de ID van de gebruiker.
De inlogevent geeft een lijst van contextkenmerken door aan de stroom. Wanneer de stroom begint, worden de waarden van overeenkomstige kenmerken ingevuld in de juiste invoervariabele. Definieer voor het gebruik van deze kenmerken in de stroom lokale tekstvariabelen met behulp van de notatie LoginFlow_NAAM_KENMERK. Een voorbeeld is LoginFlow_UserId, dat u kunt gebruiken voor het verifiëren van de ID van de gebruiker die inlogt, en voor het uitvoeren van een query op het gekoppelde gebruikersobject.

Nadat u elke variabele hebt toegevoegd, wordt deze weergegeven op het tabblad Beheer.
De volgende invoervariabelen worden ondersteund.
- LoginFlow_LoginType
- LoginFlow_LoginSubType
- LoginFlow_IpAddress
- LoginFlow_UserAgent
- LoginFlow_Platform
- LoginFlow_Application
- LoginFlow_Community
- LoginFlow_SessionLevel
- LoginFlow_UserId
U kunt deze kenmerken ook opslaan als uitvoervariabelen in de stroom.
- LoginFlow_FinishLocation (type Tekst)—Deze variabele bepaalt waar de gebruiker naartoe wordt verzonden wanneer de stroom is voltooid.
- LoginFlow_ForceLogout (type Boolean)—Wanneer deze variabele wordt ingesteld op
true, wordt de gebruiker onmiddellijk uitgelogd.
-
Klik op het tabblad Beheer op Nieuwe resource om een recordvariabele te maken voor de opslag van waarden van de gebruiker.

-
Voeg een element Records ophalen toe voor het opzoeken van de gebruiker die probeert in te loggen.

-
Geef de gebruikersvelden op, die wilt opslaan in de variabele, bijvoorbeeld Phone en MobilePhone.

-
Maak een welkomstscherm om de gebruiker te vragen de vastgelegde telefoonnummers te bevestigen.

- Stel voor het instellen van een standaardwaarde voor elke component Telefoon in het scherm Waarde in op het juiste veld voor de recordvariabele {!user}. Voor Telefoon is dat {!user.Phone}. Voor Mobile Phone is dat {!user.mobilePhone}.
-
Als u wilt opslaan wat de gebruiker heeft opgegeven voor elke component Telefoon voor waarden instellen, stelt u Waarde in de sectie Uitvoerwaarden opslaan van de component op hetzelfde veld als in de vorige stap.

-
Voeg een element Records bijwerken toe, dat de waarden in de recordvariabele {!user} gebruikt voor het bijwerken van de telefoonnummers van de gebruiker. Aangezien u de uitvoer van elke schermcomponent Telefoon hebt opgeslagen in velden voor de recordvariabele {!user}, gebruikt de stroom die waarden voor het bijwerken van de gebruiker.

-
Verbind de elementen met elkaar.

-
Geef de inlogstroom een naam en sla deze op.

-
Verbind de inlogstroom vervolgens met een gebruikersprofiel. De best practice is om een speciale testgebruiker met een testprofiel te maken.
Opmerking Koppel een inlogstroom pas aan uw beheerdersprofiel als u er zeker van bent dat de inlogstroom op de juiste manier werkt. Anders, als deze mislukt, kunt u niet inloggen bij uw organisatie. - Log uit en log vervolgens weer in als testgebruiker om de stroom te testen.
Wanneer u het voorbeeld Welkomststroom test, ziet dit er als volgt uit bij gebruik van Lightning Experience.
Multi-factorenauthenticatie (MFA) configureren
Dit voorbeeld implementeert een inlogstroom die de authenticatie van een op tijd gebaseerde eenmalig wachtwoord (time-based one-time password, TOTP) uitbreidt met een methode voor een MFA, die Salesforce ondersteunt. Het TOTP-algoritme berekent een eenmalig wachtwoord op basis van een gedeelde geheime sleutel en de actuele tijd.
De stroom doet het volgende.
- Als de gebruiker nog niet is geregistreerd, wordt er een nieuwe geheime sleutel gegenereerd en krijgt de gebruiker de aanwijzing om de sleutel te registreren met een QR-code (Quick Response-code). Nadat de gebruiker een geldig TOTP-token heeft opgegeven, wordt de geheime sleutel opgeslagen in de gebruikersrecord. De sleutel wordt opnieuw gebruikt bij toekomstige inlogpogingen.
- Als de gebruiker al is geregistreerd, ontvangt de gebruiker een aanwijzing voor alleen het TOTP-token.
Gebruikers kunnen een toepassing voor op tijd gebaseerde authenticatie, zoals Salesforce Authenticator of Google Authenticator, gebruiken om de QR-code in te scannen en een TOTP-token te genereren.
U kunt deze stroom uitbreiden en de gebruikersomgeving aanpassen door het toevoegen van een bedrijfslogo en -kleuren. U kunt zelfs verschillende beleidsvormen toevoegen en afdwingen. Zo kunt u een op IP gebaseerd proces voor MFA samenstellen dat alleen een tweede authenticatiefactor vereist wanneer het IP-adres buiten een bepaald bereik ligt.
Dit voorbeeld gebruikt het object TwoFactorInfo en de Auth.SessionManagement Apex klasse voor het aanpassen en beheren van de op standaarden gebaseerde TOTP multi-factorenauthenticatie die Salesforce ondersteunt.
- Zoek het object TwoFactorInfo op voor de huidige gebruiker. Als de gebruiker niet is geregistreerd, wordt er een sleutel gegenereerd.
- Bepaal of de gebruiker al geregistreerd is met TOTP.
- Als de gebruiker al is geregistreerd, krijgt de gebruiker de aanwijzing om het TOTP-token op te geven.
- Als de gebruiker niet is geregistreerd, krijgt de gebruiker de aanwijzing om zich te registreren met een QR-code en het TOTP-token op te geven.
- Valideer het TOTP-token. Als het token geldig is, wordt de inlogstroom voltooid en logt de gebruiker in.
- Als het TOTP-token ongeldig is, stuurt u de gebruiker terug naar stap 2.
De TOTP-stroom configureren
-
Maak de variabelen.
- secret– de geheime sleutel voor alle multi–factorenbewerkingen op.
- qr_URL– Slaat de URL voor de codering van de QR-code van de geheime sleutel op.
- IsTokenValid– Slaat het verificatieresultaat op.
secret en qr_URL zijn tekstvariabelen, terwijl IsTokenValid een booleaanse variabele is.

-
Sleep voor het genereren van een nieuw geheim voor gebruikers niet al zijn geregistreerd met een TOTP, een element Apex-actie (verouderd) naar het doek en selecteer de oudere Apex-actie TOTPPlugin.

Apex-acties zijn Apex-klassen die de standaard functionaliteit van een stroom uitbreiden. U kunt een Apex-actie gebruiken voor het uitvoeren van een complexe berekening, voor API-aanroepen aan externe services, en meer.
TOTPPlugin heeft toegang tot de Salesforce-TOTP-methoden, genereert een op tijd gebaseerde geheime sleutel met een QR-code en valideert het TOTP. De Apex-klasse voor TOTPPlugin is beschikbaar in het pakket met voorbeelden van inlogstromen.
De oudere Apex-actie heeft deze invoerparameters.
- OTP_INPUT– Het TOTP-token dat de gebruiker opgeeft.
- OTP_REGISTRATION_INPUT– Het TOTP-token dat de gebruiker opgeeft bij een eerste registratie.
- SECRET_INPUT– De geheime sleutel die is gebruikt voor het genereren van het TOTP.
De retourneert de volgende uitvoerwaarden.
- SECRET_OUTPUT– Een geheime sleutel die wordt gegenereerd door de invoegtoepassing.
- QR_URL_OUTPUT– Een QR-codering van de geheime sleutel.
- IsValid_OUTPUT– Als de validatie is geslaagd, wordt
truegeretourneerd. Anders wordtfalsegeretourneerd.
Configureer dit exemplaar van TOTPPlugin om een nieuwe geheime sleutel en QR-code te genereren als de gebruiker niet al is geregistreerd. In dit geval wordt er geen invoer doorgegeven.

De geheime sleutel en URL voor de QR-code worden opgeslagen in de variabelen qr_URL en secret.

-
Configureer een beslissingselement voor het registreren van een gebruiker.
Deze beslissing verifieert of secret null is. Als het niet null is, moet de gebruiker zich registreren. Dus geef Register op als een uitkomst van de beslissing. In het andere geval is de gebruiker al geregistreerd en moet deze alleen het TOTP-token opgeven. Wijzig het label van de standaarduitkomst in TOTP ophalen.

-
Configureer het scherm TOTP ophalen.
Gebruikers die al zijn geregistreerd, worden doorgeleid naar dit scherm en deze gebruikers wordt gevraagd het TOTP-token op te geven. Verderop in de stroom kunt u het TOTP-token gebruiken, dat gebruikers opgeven, door te verwijzen naar de API-naam van de component Tekst (OTP_input).

-
Configureer het scherm Registratie. Vraag de gebruiker om de QR-code te scannen, de TOTP-clienttoepassing te initialiseren en het TOTP-token op te geven.

-
Configureer voor het valideren van het TOTP-token dat de gebruiker opgeeft, een ander exemplaar van de oudere Apex-actie TOTPPlugin.
De oudere Apex-actie TOTPPlugin ondersteunt beide van deze gebruikscases.
- De gebruiker komt vanuit het scherm Registratie. De gebruiker moet de QR-code inscannen en het TOTP-token opgeven. Zowel het TOTP-token als het geheim worden doorgegeven aan TOTPPlugin voor validatie. TOTPPlugin valideert het TOTP-token aan de hand van het geheim. Indien geldig, wordt het geheim geregistreerd in de gebruikersrecord en gebruikt voor toekomstige inlogpogingen.
- De gebruiker komt vanuit het scherm Token ophalen. De gebruiker is al geregistreerd en geeft alleen het TOTP op. Het TOTP-token wordt via de parameter TokenInput doorgegeven aan TOTPPlugin voor validatie.

De parameter isTokenValid retourneert de validatiestatus, die vervolgens wordt opgeslagen in de stroomvariabele isTokenValid.

-
Bepaal of de gebruiker moet worden ingelogd, door het configureren van een ander element Beslissing met twee mogelijke uitkomsten.
- Als IsTokenValid
trueis, is het token geldig. - Anders is het token ongeldig.
Als de validatie slaagt, gaat de gebruiker door naar het einde van de stroom, klikt op de volgende stap en logt in bij de toepassing. Als de validatie mislukt, leidt de stroom de gebruiker terug naar stap 2 in de stroom. In stap 2 wordt een geregistreerde gebruiker gevraagd om een nieuw TOTP-token op te geven. Als de gebruiker nog niet is geregistreerd, wordt de gebruiker gevraagd zich te registreren en een nieuw TOTP-token op te geven.

- Als IsTokenValid
-
Verbind de elementen met elkaar.
- Om de beslissing Registratie te verbinden met het scherm Registratie, kiest u de uitkomst Registreren.
- Om de beslissing Registratie te verbinden met het scherm TOTP, kiest u de uitkomst TOTP.
- Om de beslissing Login te verbinden met de beslissing Registratie, kiest u de uitkomst Token is onjuist.
- Sla de inlogstroom op, activeer deze en verbind deze met een gebruikersprofiel.
Externe strenge authenticatiemethoden integreren
U kunt inlogstromen gebruiken voor een interactie met externe authenticatieproviders door middel van een API.
Zo biedt Yubico strenge authenticatie door middel van een fysieke beveiligingssleutel dat een YubiKey wordt genoemd. Yubico biedt ook een voorbeeld-Apex-bibliotheek en inlogstroom op GitHub. De bibliotheek levert Apex-klassen voor het valideren van YubiKey eenmalige wachtwoorden (OTP's). Met de klassen kunnen Salesforce-gebruikers een YubiKey gebruiken als tweede authenticatiefactor bij inloggen. Zie voor meer informatie yubikey-salesforce-client.
U kunt ook een externe sms- of voiceservice zoals Twilio of TeleSign implementeren voor een op sms gebaseerde multi-factorenauthenticatie en identiteitsverificatiestroom. Zie Externe op sms gebaseerde multi-factorenauthenticatie implementeren voor meer informatie.
Pakket met voorbeelden van inlogstromen
Het pakket met voorbeelden van inlogstromen (is een onbeheerd pakket dat verschillende inlogstroomvoorbeelden in uw Salesforce-organisatie installeert. Dit bevat de volgende voorbeelden.
- Bevestiging per e-mail– E-mail met een verificatiecode verzenden.
- SF-TOTP– TOTP-multi-factorenauthenticatie inschakelen.
- Voorwaardelijke multifactoren– Sla multi-factorenauthenticatie over voor gebruikers die afkomstig zijn van een vertrouwd IP-adres.
- Activering van apparaat–Bevestig de gebruikersidentiteit met behulp van e-mail of multi-factorenauthenticatie.
- Servicevoorwaarden accepteren– Vraag de gebruiker eerst om akkoord te gaan met de voorwaarden voordat deze kan doorgaan.
