Självstudie: Skapa användarflöden och anpassade principer i Azure Active Directory B2C
Innan du börjar använder du väljaren Välj en principtyp för att välja den typ av princip som du konfigurerar. Azure Active Directory B2C erbjuder två metoder för att definiera hur användare interagerar med dina program: via fördefinierade användarflöden eller genom fullständigt konfigurerbara anpassade principer. De steg som krävs i den här artikeln skiljer sig åt för varje metod.
I dina program kan du ha användarflöden som gör det möjligt för användare att registrera sig, logga in eller hantera sin profil. Du kan skapa flera användarflöden av olika typer i din Azure Active Directory B2C-klientorganisation (Azure AD B2C) och använda dem i dina program efter behov. Användarflöden kan återanvändas mellan program.
Med ett användarflöde kan du avgöra hur användare interagerar med ditt program när de gör saker som inloggning, registrering, redigera en profil eller återställa ett lösenord. I den här artikeln kan du se hur du:
Anpassade principer är konfigurationsfiler som definierar beteendet för din Azure Active Directory B2C-klientorganisation (Azure AD B2C). I den här artikeln kan du se hur du:
- Skapa ett användarflöde för registrering och inloggning
- Aktivera lösenordsåterställning via självbetjäning
- Skapa ett användarflöde för profilredigering
Viktigt!
Vi har ändrat hur vi refererar till användarflödesversioner. Tidigare erbjöd vi V1-versioner (produktionsklara), V1.1 och V2 (förhandsversion). Nu har vi konsoliderat användarflöden i två versioner: Rekommenderade användarflöden med de senaste funktionerna och Standard-användarflöden (äldre ). Alla äldre användarflöden för förhandsversionen (V1.1 och V2) är inaktuella. Mer information finns i Användarflödesversioner i Azure AD B2C. Dessa ändringar gäller endast för det offentliga Azure-molnet. Andra miljöer fortsätter att använda äldre versionshantering för användarflöden.
Förutsättningar
- Om du inte redan har en skapar du en Azure AD B2C-klientorganisation som är länkad till din Azure-prenumeration.
- Registrera ett webbprogram och aktivera implicit beviljande av ID-token.
- Om du inte redan har en skapar du en Azure AD B2C-klientorganisation som är länkad till din Azure-prenumeration.
- Registrera ett webbprogram och aktivera implicit beviljande av ID-token.
Skapa ett användarflöde för registrering och inloggning
Användarflödet för registrering och inloggning hanterar både registrerings- och inloggningsupplevelser med en enda konfiguration. Användare av ditt program leds längs rätt sökväg beroende på kontexten.
Logga in på Azure-portalen.
Om du har åtkomst till flera klienter väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klient från menyn Kataloger + prenumerationer.
I Azure-portalen söker du efter och väljer Azure AD B2C.
Under Principer väljer du Användarflöden och sedan Nytt användarflöde.
På sidan Skapa ett användarflöde väljer du flödet Registrera dig och logga in användare.
Under Välj en version väljer du Rekommenderas och sedan Skapa. (Läs mer om användarflödesversioner.)
Ange ett Namn för användarflödet. Till exempel signupsignin1.
För Identitetsprovidrar väljer du Registrera e-post.
För Användarattribut och tokenanspråk väljer du de anspråk och attribut som du vill samla in och skicka från användaren under registreringen. Välj till exempel Visa mer och välj sedan attribut och anspråk för land/region, visningsnamn och postnummer. Välj OK.
Välj Skapa för att lägga till användarflödet. Prefixet B2C_1_ läggs automatiskt till i namnet.
Testa användarflödet
Välj det användarflöde som du skapade för att öppna översiktssidan.
Längst upp på översiktssidan för användarflödet väljer du Kör användarflöde. Ett fönster öppnas till höger på sidan.
För Program väljer du det webbprogram som du vill testa, till exempel det som heter webapp1. Svars-URL :en ska visa
https://jwt.ms
.Välj Kör användarflöde och välj sedan Registrera dig nu.
Ange en giltig e-postadress, välj Skicka verifieringskod, ange verifieringskoden som du får och välj sedan Verifiera kod.
Ange ett nytt lösenord och bekräfta lösenordet.
Välj land och region, ange det namn som du vill visa, ange ett postnummer och välj sedan Skapa. Token returneras till
https://jwt.ms
och ska visas för dig.Nu kan du köra användarflödet igen och du bör kunna logga in med det konto som du skapade. Den returnerade token innehåller de anspråk som du har valt för land/region, namn och postnummer.
Kommentar
Funktionen "Kör användarflöde" är för närvarande inte kompatibel med TYPEN SPA-svars-URL med hjälp av auktoriseringskodflödet. Om du vill använda funktionen "Kör användarflöde" med den här typen av appar registrerar du en svars-URL av typen "Webb" och aktiverar det implicita flödet enligt beskrivningen här.
Aktivera lösenordsåterställning via självbetjäning
Så här aktiverar du självbetjäning av lösenordsåterställning för användarflödet för registrering eller inloggning:
- Välj det användarflöde för registrering eller inloggning som du skapade.
- Under Inställningar på den vänstra menyn väljer du Egenskaper.
- Under Lösenordskonfiguration väljer du Självbetjäning av lösenordsåterställning.
- Välj Spara.
Testa användarflödet
- Välj det användarflöde som du skapade för att öppna översiktssidan och välj sedan Kör användarflöde.
- För Program väljer du det webbprogram som du vill testa, till exempel det som heter webapp1. Svars-URL :en ska visa
https://jwt.ms
. - Välja Kör användarflödet.
- På registrerings- eller inloggningssidan väljer du Har du glömt lösenordet?.
- Kontrollera e-postadressen för det konto som du skapade tidigare och välj sedan Fortsätt.
- Nu har du möjlighet att ändra lösenordet för användaren. Ändra lösenordet och välj Fortsätt. Token returneras till
https://jwt.ms
och ska visas för dig.
Skapa ett användarflöde för profilredigering
Om du vill göra det möjligt för användare att redigera sin profil i ditt program använder du ett användarflöde för profilredigering.
- På menyn på översiktssidan för Azure AD B2C-klientorganisationen väljer du Användarflöden och sedan Nytt användarflöde.
- På sidan Skapa ett användarflöde väljer du användarflödet Profilredigering .
- Under Välj en version väljer du Rekommenderas och sedan Skapa.
- Ange ett Namn för användarflödet. Till exempel profileediting1.
- För Identitetsprovidrar går du till Lokala konton och väljer E-postregistrering.
- För Användarattribut väljer du de attribut som du vill att kunden ska kunna redigera i sin profil. Välj till exempel Visa mer och välj sedan både attribut och anspråk för Visningsnamn och Jobbrubrik. Välj OK.
- Välj Skapa för att lägga till användarflödet. Ett prefix för B2C_1_ läggs automatiskt till i namnet.
Testa användarflödet
- Välj det användarflöde som du skapade för att öppna översiktssidan.
- Längst upp på översiktssidan för användarflödet väljer du Kör användarflöde. Ett fönster öppnas till höger på sidan.
- För Program väljer du det webbprogram som du vill testa, till exempel det som heter webapp1. Svars-URL :en ska visa
https://jwt.ms
. - Välj Kör användarflöde och logga sedan in med det konto som du skapade tidigare.
- Nu har du möjlighet att ändra visningsnamnet och jobbrubriken för användaren. Välj Fortsätt. Token returneras till
https://jwt.ms
och ska visas för dig.
Dricks
Den här artikeln beskriver hur du konfigurerar klientorganisationen manuellt. Du kan automatisera hela processen från den här artikeln. Automatisering distribuerar Azure AD B2C SocialAndLocalAccountsWithMFA-startpaketet, som tillhandahåller registrerings- och inloggningsresor, återställning av lösenord och profilredigering. Om du vill automatisera genomgången nedan går du till IEF-installationsappen och följer anvisningarna.
Lägga till signerings- och krypteringsnycklar för Identity Experience Framework-program
- Logga in på Azure-portalen.
- Om du har åtkomst till flera klienter väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klient från menyn Kataloger + prenumerationer.
- I Azure-portalen söker du efter och väljer Azure AD B2C.
- På översiktssidan går du till Principer och väljer Identity Experience Framework.
Skapa signeringsnyckeln
- Välj Principnycklar och välj sedan Lägg till.
- För Alternativ väljer du
Generate
. - I Namn anger du
TokenSigningKeyContainer
. PrefixetB2C_1A_
kan läggas till automatiskt. - För Nyckeltyp väljer du RSA.
- För Nyckelanvändning väljer du Signatur.
- Välj Skapa.
Skapa krypteringsnyckeln
- Välj Principnycklar och välj sedan Lägg till.
- För Alternativ väljer du
Generate
. - I Namn anger du
TokenEncryptionKeyContainer
. PrefixetB2C_1A
_ kan läggas till automatiskt. - För Nyckeltyp väljer du RSA.
- För Nyckelanvändning väljer du Kryptering.
- Välj Skapa.
Registrera Identity Experience Framework-program
Azure AD B2C kräver att du registrerar två program som används för att registrera och logga in användare med lokala konton: IdentityExperienceFramework, ett webb-API och ProxyIdentityExperienceFramework, en intern app med delegerad behörighet till IdentityExperienceFramework-appen. Användarna kan registrera sig med en e-postadress eller ett användarnamn och ett lösenord för att få åtkomst till dina klientregistrerade program, vilket skapar ett "lokalt konto". Lokala konton finns bara i din Azure AD B2C-klientorganisation.
Du behöver bara registrera dessa två program i din Azure AD B2C-klientorganisation en gång.
Registrera IdentityExperienceFramework-programmet
Om du vill registrera ett program i din Azure AD B2C-klientorganisation kan du använda Appregistreringar upplevelse.
- Välj Appregistreringar och välj sedan Ny registrering.
- För Namn ange
IdentityExperienceFramework
. - Under Kontotyper som stöds väljer du Endast Konton i den här organisationskatalogen.
- Under Omdirigerings-URI väljer du Webb och anger
https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com
sedan , däryour-tenant-name
är ditt Azure AD B2C-klientdomännamn. - Under Behörigheter markerar du kryssrutan Bevilja administratörsmedgivande till openid och offline_access behörigheter .
- Välj Registrera.
- Registrera program-ID :t (klient) för användning i ett senare steg.
Exponera sedan API:et genom att lägga till ett omfång:
- I den vänstra menyn under Hantera väljer du Exponera ett API.
- Välj Lägg till ett omfång och välj sedan Spara och fortsätt att acceptera standardprogram-ID:ts URI.
- Ange följande värden för att skapa ett omfång som tillåter körning av anpassad princip i din Azure AD B2C-klientorganisation:
- Omfångsnamn:
user_impersonation
- Visningsnamn för administratörsmedgivande:
Access IdentityExperienceFramework
- Beskrivning av administratörsmedgivande:
Allow the application to access IdentityExperienceFramework on behalf of the signed-in user.
- Omfångsnamn:
- Välj Lägg till omfång
Registrera ProxyIdentityExperienceFramework-programmet
- Välj Appregistreringar och välj sedan Ny registrering.
- För Namn ange
ProxyIdentityExperienceFramework
. - Under Kontotyper som stöds väljer du Endast Konton i den här organisationskatalogen.
- Under Omdirigerings-URI använder du listrutan för att välja Offentlig klient/intern (mobilt & skrivbord).
- För Omdirigerings-URI anger du
myapp://auth
. - Under Behörigheter markerar du kryssrutan Bevilja administratörsmedgivande till openid och offline_access behörigheter .
- Välj Registrera.
- Registrera program-ID :t (klient) för användning i ett senare steg.
Ange sedan att programmet ska behandlas som en offentlig klient:
- I den vänstra menyn går du till Hantera och väljer Autentisering.
- Under Avancerade inställningar i avsnittet Tillåt offentliga klientflöden anger du Aktivera följande mobil- och skrivbordsflöden till Ja.
- Välj Spara.
- Kontrollera att "allowPublicClient": true anges i programmanifestet:
- I den vänstra menyn går du till Hantera och väljer Manifest för att öppna programmanifestet.
- Leta upp allowPublicClient-nyckeln och se till att dess värde är inställt på true.
Bevilja nu behörigheter till API-omfånget som du exponerade tidigare i IdentityExperienceFramework-registreringen :
- I den vänstra menyn går du till Hantera och väljer API-behörigheter.
- Under Konfigurerade behörigheter väljer du Lägg till en behörighet.
- Välj fliken Mina API:er och välj sedan programmet IdentityExperienceFramework .
- Under Behörighet väljer du det user_impersonation omfång som du definierade tidigare.
- Välj Lägg till behörigheter. Vänta några minuter innan du fortsätter till nästa steg.
- Välj Bevilja administratörsmedgivande för< ditt klientnamn)>.
- Välj Ja.
- Välj Uppdatera och kontrollera sedan att "Beviljas för ..." visas under Status för omfånget.
Startpaket för anpassad princip
Anpassade principer är en uppsättning XML-filer som du laddar upp till din Azure AD B2C-klientorganisation för att definiera tekniska profiler och användarresor. Vi tillhandahåller startpaket med flera fördefinierade principer som hjälper dig att snabbt komma igång. Var och en av dessa startpaket innehåller det minsta antalet tekniska profiler och användarresor som behövs för att uppnå de scenarier som beskrivs:
- LocalAccounts – Aktiverar endast användning av lokala konton.
- SocialAccounts – Aktiverar endast användning av sociala (eller federerade) konton.
- SocialAndLocalAccounts – Möjliggör användning av både lokala och sociala konton.
- SocialAndLocalAccountsWithMFA – Aktiverar alternativ för social, lokal och multifaktorautentisering.
Varje startpaket innehåller:
- Basfil – Det krävs få ändringar i basen. Exempel: TrustFrameworkBase.xml
- Lokaliseringsfil – Det är i den här filen som lokaliseringsändringar görs. Exempel: TrustFrameworkLocalization.xml
- Tilläggsfil – Det är i den här filen som de flesta konfigurationsändringar görs. Exempel: TrustFrameworkExtensions.xml
- Förlitande partfiler – Uppgiftsspecifika filer som anropas av ditt program. Exempel: SignUpOrSignin.xml, ProfileEdit.xml, PasswordReset.xml
I den här artikeln redigerar du XML-anpassade principfiler i startpaketet SocialAndLocalAccounts . Om du behöver en XML-redigerare kan du prova Visual Studio Code, en lätt plattformsoberoende redigerare.
Hämta startpaketet
Hämta startpaketen för anpassad princip från GitHub och uppdatera sedan XML-filerna i startpaketet SocialAndLocalAccounts med ditt Azure AD B2C-klientnamn.
Ladda ned ZIP-filen eller klona lagringsplatsen:
git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
Ersätt strängen
yourtenant
med namnet på din Azure AD B2C-klientorganisation i alla filer i katalogen SocialAndLocalAccounts.Om namnet på din B2C-klientorganisation till exempel är contosotenant blir alla instanser av
yourtenant.onmicrosoft.com
.contosotenant.onmicrosoft.com
Lägga till program-ID:t i den anpassade principen
Lägg till program-ID:n i filnamnstilläggsfilen TrustFrameworkExtensions.xml.
- Öppna
SocialAndLocalAccounts/
TrustFrameworkExtensions.xml
och hitta elementet<TechnicalProfile Id="login-NonInteractive">
. - Ersätt båda instanserna av
IdentityExperienceFrameworkAppId
med program-ID för IdentityExperienceFramework-programmet som du skapade tidigare. - Ersätt båda instanserna av
ProxyIdentityExperienceFrameworkAppId
med program-ID:t för ProxyIdentityExperienceFramework-programmet som du skapade tidigare. - Spara filen.
Lägga till Facebook som identitetsprovider
Startpaketet SocialAndLocalAccounts innehåller facebook social inloggning. Facebook krävs inte för att använda anpassade principer, men vi använder det här för att visa hur du kan aktivera federerad social inloggning i en anpassad princip. Om du inte behöver aktivera federerad social inloggning använder du startpaketet LocalAccounts i stället och hoppar över avsnittet Lägg till Facebook som identitetsprovider.
Skapa Facebook-program
Använd stegen som beskrivs i Skapa ett Facebook-program för att hämta Facebook-app-ID och apphemlighet. Hoppa över förutsättningarna och resten av stegen i artikeln Konfigurera registrering och logga in med ett Facebook-konto .
Skapa Facebook-nyckeln
Lägg till ditt Facebook-programs apphemlighet som en principnyckel. Du kan använda apphemligheten för det program som du skapade som en del av den här artikelns krav.
- Logga in på Azure-portalen.
- Om du har åtkomst till flera klienter väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klient från menyn Kataloger + prenumerationer.
- I Azure-portalen söker du efter och väljer Azure AD B2C.
- På översiktssidan går du till Principer och väljer Identity Experience Framework.
- Välj Principnycklar och välj sedan Lägg till.
- För Alternativ väljer du
Manual
. - För Namn ange
FacebookSecret
. PrefixetB2C_1A_
kan läggas till automatiskt. - I Hemlighet anger du din Facebook-apphemlighet från developers.facebook.com. Det här värdet är hemligheten, inte program-ID:t.
- För Nyckelanvändning väljer du Signatur.
- Välj Skapa.
Uppdatera TrustFrameworkExtensions.xml i startpaketet för anpassad princip
SocialAndLocalAccounts/
TrustFrameworkExtensions.xml
I filen ersätter du värdet client_id
för med Facebook-program-ID:t och sparar ändringarna.
<TechnicalProfile Id="Facebook-OAUTH">
<Metadata>
<!--Replace the value of client_id in this technical profile with the Facebook app ID"-->
<Item Key="client_id">00000000000000</Item>
Ladda upp principerna
- Välj menyalternativet Identity Experience Framework i B2C-klientorganisationen i Azure-portalen.
- Välj Överför anpassad princip.
- I den här ordningen laddar du upp principfilerna:
- TrustFrameworkBase.xml
- TrustFrameworkLocalization.xml
- TrustFrameworkExtensions.xml
- SignUpOrSignin.xml
- ProfileEdit.xml
- PasswordReset.xml
När du laddar upp filerna lägger Azure till prefixet B2C_1A_
till var och en.
Dricks
Om XML-redigeraren stöder validering verifierar du filerna mot TrustFrameworkPolicy_0.3.0.0.xsd
XML-schemat som finns i rotkatalogen i startpaketet. XML-schemaverifiering identifierar fel innan du laddar upp.
Testa den anpassade principen
- Under Anpassade principer väljer du B2C_1A_signup_signin.
- För Välj program på översiktssidan för den anpassade principen väljer du det webbprogram som du vill testa, till exempel det som heter webapp1.
- Kontrollera att svars-URL :en är
https://jwt.ms
. - Välj kör nu.
- Registrera dig med en e-postadress.
- Välj Kör nu igen.
- Logga in med samma konto för att bekräfta att du har rätt konfiguration.
- Välj Kör nu igen och välj Facebook för att logga in med Facebook och testa den anpassade principen.
Nästa steg
I den här artikeln lärde du dig att:
- Skapa ett registrerings- och inloggningsflöde för användare
- Skapa ett användarflöde för profilredigering
- Skapa ett användarflöde för återställning av lösenord
Lär dig sedan hur du använder Azure AD B2C för att logga in och registrera användare i ett program. Följ exempelapparna som är länkade nedan:
- Konfigurera ett exempel på en ASP.NET Core-webbapp
- Konfigurera ett exempel ASP.NET Core-webbapp som anropar ett webb-API
- Konfigurera autentisering i ett Python-exempelwebbprogram
- Konfigurera ett exempel på ensidesprogram (SPA)
- Konfigurera en angular-exempelapp med en sida
- Konfigurera en Android-exempelmobilapp
- Konfigurera en iOS-exempelmobilapp
- Konfigurera autentisering i ett WPF-exempelprogram
- Aktivera autentisering i webb-API:et
- Konfigurera ett SAML-program
Du kan också lära dig mer i Djupdykningsserien för Azure AD B2C-arkitektur.