Loading
Identifiera dina användare och hantera åtkomst
Exempel på inloggningsflöde

Exempel på inloggningsflöde

Du kan använda ett inloggningsflöde för att anpassa inloggningsupplevelsen och integrera verksamhetsprocesser med Salesforce-autentisering. Vanliga användningsfall inkluderar insamling och uppdatering av användarinformation vid inloggning, konfigurera flerfaktorsautentisering eller integrera starka autentiseringsmetoder från tredje part.

Versioner som krävs

Tillgängliga i: både Salesforce Classic och Lightning Experience
Tillgängliga i: Essentials, Professional, Enterprise, Performance, Unlimited och Developer Editions

Låt oss titta på tre vanliga användningsfall för inloggningsflöden:

  • Samla in och uppdatera användardata vid inloggning
  • Tillämpa anpassad flerfaktorsautentisering (MFA)
  • Integrera starka autentiseringsmetoder från tredje part

Samla in och uppdatera användardata vid inloggning

Detta inloggningsflöde ber användarna att bekräfta eller uppdatera sina telefonnummer, som sedan uppdateras i användarkontona.

  1. Fråga användarobjektet efter användarnas telefonnummer, om de finns.
  2. Visa telefonnumret och be användaren bekräfta eller uppdatera det.
  3. Uppdatera användarobjektet med ett nytt telefonnummer.

Skapa flödet

  1. Gå till https://help.salesforce.com/articleView?id=flow_builder.htm&language=sv.
  2. Från fliken Hanterare i verktygslådan, klicka på Ny resurs och skapa en variabel för att lagra användar-ID:n.

    Inloggningshändelsen skickar en lista med sammanhangsattribut till flödet. När flödet startar fylls de motsvarande attributens värde i den relevanta indatavariabeln. För att använda dessa attribut i flödet, definiera lokala textvärden med formatet LoginFlow_ATTRIBUTE_NAME. Till exempel LoginFlow_UserId som du kan använda för att bekräfta ID för användaren som loggar in och fråga det associerade användarobjektet.

    definiera användar-ID-variabel för flödet

    Efter att du har lagt till varje variabel visas den på fliken Hanterare.

    Följande indatavariabler stöds.

    • LoginFlow_LoginType
    • LoginFlow_LoginSubType
    • LoginFlow_IpAddress
    • LoginFlow_UserAgent
    • LoginFlow_Platform
    • LoginFlow_Application
    • LoginFlow_Community
    • LoginFlow_SessionLevel
    • LoginFlow_UserId

    Du kan även lagra dessa attribut som utdatavariabler i flödet.

    • LoginFlow_FinishLocation (type Text) — Denna variabel avgör var användaren ska skickas efter att flödet har genomförts.
    • LoginFlow_ForceLogout (type Boolean)—När denna variabel är inställd på true loggas användaren omedelbart ut.
  3. På fliken Hanterare, klicka på Ny resurs för att skapa en postvariabel för att lagra värden från användaren.
    definiera en postvariabel
  4. Lägg till ett Hämta poster-element för att söka användaren som försöker logga in.
    Ett Hämta poster-element som använder variabeln LoginFlow_UserId variable för att hitta en användarpost.
  5. Specificera de användarfält du vill lagra i variabeln, till exempel Phone och MobilePhone.
    I samma Hämta poster-element, lagra användarens fält i {!user}.
  6. Skapa en välkomstskärm som ber användaren bekräfta sitt telefonnummer.
    skapa en välkomstskärm
  7. För att ange ett standardvärde för varje Telefon-komponent på skärmen, sätt Värde till det relevanta fältet i postvariabeln {!user}. För Telefon är det {!user.Phone}. För Mobiltelefon är det {!user.mobilePhone}.
  8. För att lagra användarens inmatning för varje Telefon-komponent, ställ in Värde i komponentens sektion Lagra utdatavariabler till samma fält som i föregående steg.
    Skärmkomponenten Telefon med Värde satt som indata och utdata.
  9. Lägg till ett Uppdatera poster-element som använder värdena i postvariabeln {!user} för att uppdatera användarens telefonnummer. Eftersom du lagrat varje Telefon-skärmkomponents utdata i fält i postvariabeln {!user} använder flödet dessa värden för att uppdatera användaren.
    Elementet Uppdatera poster
  10. Koppla ihop elementen.
    steg i exempel på inloggningsflöde
  11. Namnge inloggningsflödet och spara det.
    flödesegenskaper
  12. Anslut inloggningsflödet till en användarprofil. Den rekommenderade metoden är att skapa en dedikerad testanvändare med en testprofil.
    Anteckning
    Anteckning Associera inte ett inloggningsflöde med din administratörsprofil förrän du är säker på att inloggningsflödet fungerar korrekt. Annars kan du inte logga in i din organisation om det inte fungerar.
  13. Logga ut, och logga sedan in som testanvändaren för att testa flödet.

När du testar exemplet Welcome Flow ser det ut såhär i Lightning Experience.

exempel på välkomstskärm

Konfigurera flerfaktorsautentisering (MFA)

Detta exempel implementerar ett inloggningsflöde som utökar autentisering med ett tidsbaserat engångslösenord (TOTP) med en MFA-metod som Salesforce stöder. TOTP-algoritmen beräknar ett engångslösenord från en delad hemlig nyckel och den aktuella tidpunkten.

Flödet gör följande.

  • Om användaren inte är registrerad ännu skapar det en ny hemlig nyckel och uppmanar användaren att registrera nyckeln med en QR-kod (Quick Response). När användaren har angett en giltig TOTP-token lagras den hemliga nyckeln i användarposten. Nyckeln återanvänds för framtida inloggningar.
  • Om användaren redan är registrerad: ber användaren endast om TOTP-token.
Varning
Varning När återgivningsflöde i Lightning Runtime är aktiverat måste användare som använder inloggningsflödet ha åtkomst till Salesforce-funktionalitet innan de slutför flödet. Ej auktoriserad användaråtkomst skapar en säkerhetsrisk. Om du använder det egna inloggningsflödet för att tillämpa säkerhet rekommenderar vi att du inte aktiverar denna inställning.

Användare kan använda ett tidsbaserat autentiseringsprogram, till exempel Salesforce Authenticator eller Google Authenticator, för att skanna QR-koden och skapa en TOTP-token.

Du kan utöka detta flöde och anpassa användarupplevelsen genom att lägga till företagets logotyp och färger. Du kan till och med lägga till och tillämpa olika policyer. Du kan till exempel bygga en IP-baserad MFA-process som kräver en andra autentiseringsfaktor endast när IP-adressen är utanför ett visst intervall.

Detta exempel använder objektet TwoFactorInfo och klassen Auth.SessionManagement Apex för att anpassa och hantera den standardbaserade flerfaktorsautentiseringen TOTP som Salesforce stöder.

  1. Hitta objektet TwoFactorInfo för den aktuella användaren. Om användaren inte är registrerad, skapa en nyckel.
  2. Se efter om användaren redan är registrerad med TOTP.
  3. Om användaren redan är registrerad, be användaren att ange TOTP-token.
  4. Om användaren inte är registrerad, be användaren att registrera sig med en QR-kod och ange TOTP-token.
  5. Validera TOTP-token. Om token är giltig slutförs inloggningsflödet och användaren loggas in.
  6. Om TOTP-token är ogiltig, skicka tillbaka användaren till steg 2.
TOTP-flödessteg

Konfigurera TOTP-flöde

  1. Skapa variablerna.
    • secret—Lagrar den hemliga nyckeln för alla flerfaktorsoperationer.
    • qr_url—Lagrar URL för QR-kodningen av den hemliga nyckeln.
    • IsTokenValid—Lagrar verifieringsresultaten.

    secret och qr_url är textvariabler, och IsTokenValid är en boolesk variabel.

    Skapa TOTP-variabler
  2. För att skapa en ny hemlighet för användare som inte redan är registrerade med en TOTP, dra ett element av typen Apex-åtgärd (äldre) till arbetsytan och välj den äldre Apex-åtgärden TOTPPlugin.
    Inställningar för TOTP-plugin

    Apex-åtgärder är Apex-klasser som utökar standardfunktionaliteten hos ett flöde. Du kan använda en Apex-åtgärd för att utföra en komplex beräkning, göra API-anrop till externa tjänster, med mera.

    TOTPPlugin går till Salesforces TOTP-metoderna, skapar en tidsbaserad hemlig nyckel med en QR-kod och validerar TOTP. Apex-klassen för TOTPPlugin är tillgänglig i exempelpaketet för inloggningsflöde.

    Äldre Apex-åtgärder har dessa indataparametrar.

    • OTP_INPUT—TOTP-token som användaren tillhandahåller.
    • OTP_REGISTRATION_INPUT—TOTP-token som användaren tillhandahåller när de registrerar sig.
    • SECRET_INPUT—Den hemliga nyckel som används för att skapa TOTP.

    Den returnerar följande utdatavärden.

    • SECRET_OUTPUT—En hemlig nyckel som skapas av pluginen.
    • QR_URL_OUTPUT—En QR-kodning av den hemliga nyckeln.
    • IsValid_OUTPUT—Om valideringen lyckades returneras true. Annars returneras false.

    Konfigurera denna instans av TOTPPlugin för att skapa en ny hemlig nyckel och QR-kod om användaren inte redan är registrerad. I detta fall skickas inga indata.

    Indata för TOTP-plugin

    Den hemliga nyckeln och URL för QR-koden lagras i variablerna qr_url och secret.

    Utdata för TOTP-plugin
  3. Konfigurera ett beslutselement för att registrera en användare.

    Detta beslut verifierar om secret är null. Om det inte är null måste användaren registrera sig. Så definiera Register som ett resultat av beslutet. Annars, är användaren redan registrerad och måste endast ange TOTP-token. Ändra etiketten för standardresultatet till Get TOTP.

    beslutelementet registrering
  4. Konfigurera skärmen Hämta TOTP.

    Användare som redan har registrerats dirigeras till denna skärm och bes om TOTP-token. Senare i flödet kan du använda TOTP-token som användare anger genom att referera API-namnet för Text-komponenten (OTP_input).

    Skärmelement som begär token från användarens autentiseringsapp.
  5. Konfigurera skärmen Registrering. Be användaren skanna QR-koden, starta TOTP-klientprogrammet, och ange TOTP-token.
    skärm för att hämta registreringstoken
  6. För att validera den TOTP-token som användaren anger, konfigurera en annan instans av den äldre Apex-åtgärden TOTPPlugin.

    Den äldre Apex-åtgärden TOTPPlugin har stöd för båda dessa användningsfall.

    • Användare kommer från skärmen Registrering. Användaren måste skanna QR-koden och tillhandahålla TOTP-token. Både TOTP-token och hemligheten skickas till TOTPPlugin för validering. TOTPPlugin validerar TOTP-token mot hemligheten. Om den är giltig registreras hemligheten för användarposten och används för framtida inloggningar.
    • Användare kommer från skärmen Hämta token. Användaren är redan registrerad och anger därför endast TOTP. TOTP-token skickas via parametern TokenInput till TOTPPlugin för validering.
    Indata för TOTP-validering

    Parametern isTokenValid returnerar valideringsstatus, som sedan lagras i flödesvariabeln isTokenValid.

    Utdata för TOTP-validering
  7. Avgör om användaren ska loggas in genom att konfigurera ett annat Beslut-element med två möjliga resultat.
    • Om IsTokenValid är true är token giltig.
    • Annars är token ogiltig.

    Om valideringen lyckas fortsätter användaren till slutet av flödet, klickar till nästa steg och loggar in i programmet. Om valideringen misslyckas dirigerar flödet användaren tillbaka till steg 2 i flödet. I steg 2 ombes en registrerad användare ange en ny TOTP-token. Om användaren inte är registrerad ännu ombes de registrera sig och ange en ny TOTP-token.

    TOTP-inloggningsbeslut
  8. Koppla ihop elementen.
    • För att ansluta beslutet Registrering till Registrering-skärmen, välj resultatet Registrering.
    • För att ansluta beslutet Registrering till skärmen Hämta TOTP, välj resultatet Hämta TOTP.
    • För att ansluta beslutet Logga in till beslutet Registrering, välj resultatet Token är ogiltig.
  9. Spara inloggningsflöde, aktivera det och anslut det till en användarprofil.

Integrera starka autentiseringsmetoder från tredje part

Du kan använda inloggningsflöden för att interagera med externa autentiseringsleverantörer från tredje part genom att använda API.

Till exempel erbjuder Yubico stark autentisering med en fysisk säkerhetsnyckel som kallas YubiKey. Yubico har även ett exempel på ett Apex-bibliotek och inloggningsflöde på GitHub. Biblioteket innehåller Apex-klasser för att validera YubiKey OTPs (engångslösenord). Klasserna låter Salesforce-användare använda en YubiKey som en andra autentiseringsfaktor vid inloggning. Mer information finns i yubikey-salesforce-client.

Du kan även implementera en tredjepartstjänst för SMS eller röst, till exempel Twilio or TeleSign, för att implementera SMS-baserad flerfaktorsautentisering och identitetsbekräftelseflöde. Mer information finns i Distribuera SMS-baserad flerfaktorsautentisering från tredje part.

Paket med inloggningsflödesexempel

Paketet inloggningsflödesexempel är ett ohanterat paket som installerar olika inloggningsflödesexempel i din Salesforce-organisation. Det innehåller följande exempel.

  • E-postbekräftelse — Skicka ett e-postmeddelande med en verifieringskod.
  • SF-TOTP — Aktivera flerfaktorsautentisering med TOTP
  • Villkorlig flerfaktor — Hoppa över flerfaktorsautentisering för användare från en betrodd IP-adress.
  • Enhetsaktivering — Bekräfta användarens identitet med e-post eller flerfaktorsautentisering.
  • Acceptera villkor — Be användaren acceptera villkor innan de fortsätter.
 
Laddar
Salesforce Help | Article