Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Från och med den 1 maj 2025 är Azure AD B2C inte längre tillgängligt att köpa för nya kunder. Läs mer i våra vanliga frågor och svar.
Den här artikeln beskriver hur du kan aktivera, anpassa och förbättra autentiseringsupplevelsen för Azure Active Directory B2C (Azure AD B2C) för ditt Android-program.
Innan du börjar bör du bekanta dig med följande artiklar:
- Konfigurera autentisering i en Android-exempelapp med hjälp av Azure AD B2C
- Aktivera autentisering i din egen Android-app med hjälp av Azure AD B2C
Använda en anpassad domän
Genom att använda en anpassad domän kan du helt märka autentiserings-URL:en. Från ett användarperspektiv finns användarna kvar på din domän under autentiseringsprocessen, i stället för att omdirigeras till Azure AD B2C-b2clogin.com domännamn.
Om du vill ta bort alla referenser till "b2c" i URL:en kan du också ersätta ditt B2C-klientnamn, contoso.onmicrosoft.com, i URL:en för autentiseringsbegäran med ditt klient-ID GUID. Du kan till exempel ändra https://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/ till https://account.contosobank.co.uk/<tenant ID GUID>/.
Följ anvisningarna i Aktivera anpassade domäner om du vill använda en anpassad domän och ditt klient-ID i autentiserings-URL:en. Leta efter microsoft-autentiseringsbiblioteket (MSAL-konfigurationsobjektet och uppdatera sedan myndigheterna med ditt anpassade domännamn och klientorganisations-ID.
Följande Kotlin-kod visar MSAL-konfigurationsobjektet före ändringen:
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.fromAuthority("https://contoso.b2clogin.com/fabrikamb2c.contoso.com/B2C_1_susi")
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Följande Kotlin-kod visar MSAL-konfigurationsobjektet efter ändringen:
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.fromAuthority("https://custom.domain.com/00000000-0000-0000-0000-000000000000/B2C_1_susi")
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Fyll i inloggningsnamnet i förväg
Under en inloggningsresa kan din app rikta in sig på en specifik användare. När en app riktar sig mot en användare kan den i auktoriseringsbegäran login_hint ange frågeparametern med användarens inloggningsnamn. Azure AD B2C fyller automatiskt i inloggningsnamnet och användaren behöver bara ange lösenordet.
Gör följande för att fylla i inloggningsnamnet i förväg:
- Använder du en anpassad princip, lägg till det nödvändiga indata som beskrivs i Konfigurera direkt inloggning.
- Leta efter msal-konfigurationsobjektet och lägg sedan till
withLoginHint()metoden med inloggningstipset.
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.withLoginHint("bob@contoso.com")
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Avmarkera en identitetsprovider i förväg
Om du har konfigurerat inloggningsresan för ditt program så att det innehåller sociala konton, till exempel Facebook, LinkedIn eller Google, kan du ange parametern domain_hint . Den här frågeparametern ger ett tips till Azure AD B2C om den sociala identitetsprovider som ska användas för inloggning. Om programmet till exempel anger går inloggningsflödet domain_hint=facebook.comdirekt till Facebooks inloggningssida.
Om du vill omdirigera användare till en extern identitetsprovider gör du följande:
- Kontrollera domännamnet för din externa identitetsprovider. Mer information finns i Omdirigera inloggning till en social provider.
- Skapa eller använd ett befintligt listobjekt för att lagra extra frågeparametrar.
- Lägg till parametern
domain_hintmed motsvarande domännamn i listan (till exempelfacebook.com). - Skicka listan med extra frågeparametrar till MSAL-konfigurationsobjektets
withAuthorizationQueryStringParametersmetod.
val extraQueryParameters: MutableList<Pair<String, String>> = ArrayList()
extraQueryParameters.add(Pair("domain_hint", "facebook.com"))
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.withAuthorizationQueryStringParameters(extraQueryParameters)
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Ange användargränssnittsspråket
Språkanpassning i Azure AD B2C gör att ditt användarflöde kan hantera en mängd olika språk som passar dina kunders behov. Mer information finns i Språkanpassning.
Gör följande för att ange önskat språk:
- Konfigurera språkanpassning.
- Skapa eller använd ett befintligt listobjekt för att lagra extra frågeparametrar.
- Lägg till parametern
ui_localesmed motsvarande språkkod i listan (till exempelen-us). - Skicka listan med extra frågeparametrar till MSAL-konfigurationsobjektets
withAuthorizationQueryStringParametersmetod.
val extraQueryParameters: MutableList<Map.Entry<String, String>> = ArrayList()
val mapEntry = object : Map.Entry<String, String> {
override val key: String = "ui_locales"
override val value: String = "en-us"
}
extraQueryParameters.add(mapEntry )
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.withAuthorizationQueryStringParameters(extraQueryParameters)
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Skicka en anpassad frågesträngsparameter
Med anpassade principer kan du skicka en anpassad frågesträngsparameter. Ett bra exempel på användningsfall är när du vill ändra sidinnehållet dynamiskt.
Gör följande för att skicka en anpassad frågesträngsparameter:
- Konfigurera elementet ContentDefinitionParameters .
- Skapa eller använd ett befintligt listobjekt för att lagra extra frågeparametrar.
- Lägg till den anpassade frågesträngsparametern, till exempel
campaignId. Ange parametervärdet (till exempelgermany-promotion). - Skicka listan med extra frågeparametrar till MSAL-konfigurationsobjektets
withAuthorizationQueryStringParametersmetod.
val extraQueryParameters: MutableList<Pair<String, String>> = ArrayList()
extraQueryParameters.add(Pair("campaignId", "germany-promotion"))
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.withAuthorizationQueryStringParameters(extraQueryParameters)
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Skicka ett ID-tokentips
Ett förlitande partprogram kan skicka en inkommande JSON-webbtoken (JWT) som en del av OAuth2-auktoriseringsbegäran. Den inkommande token är ett tips om användaren eller auktoriseringsbegäran. Azure AD B2C verifierar token och extraherar sedan anspråket.
Gör följande om du vill inkludera ett ID-tokentips i autentiseringsbegäran:
- I din anpassade policy definierar du en teknisk profil för ID-tokentips.
- I koden genererar eller hämtar du en ID-token och anger sedan token till en variabel (till exempel
idToken). - Skapa eller använd ett befintligt listobjekt för att lagra extra frågeparametrar.
- Lägg till parametern
id_token_hintmed motsvarande variabel som lagrar ID-token. - Skicka listan med extra frågeparametrar till MSAL-konfigurationsobjektets
withAuthorizationQueryStringParametersmetod.
val extraQueryParameters: MutableList<Pair<String, String>> = ArrayList()
extraQueryParameters.add(Pair("id_token_hint", idToken))
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.withAuthorizationQueryStringParameters(extraQueryParameters)
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Inbäddad webbvyupplevelse
Webbläsare krävs för interaktiv autentisering. Som standard använder MSAL-biblioteket systemwebbvyn. Under inloggningen dyker MSAL-biblioteket upp webbvyn för Android-systemet med Azure AD B2C-användargränssnittet.
Mer information finns i artikeln Aktivera enkel inloggning mellan appar på Android med MSAL .
Beroende på dina krav kan du använda den inbäddade webbvyn. Det finns skillnader mellan det visuella och det enkla inloggningsbeteendet mellan den inbäddade webbvyn och systemwebbvyn i MSAL.
Viktigt!
Vi rekommenderar att du använder plattformsstandarden, som vanligtvis är systemwebbläsaren. Systemwebbläsaren är bättre på att komma ihåg de användare som har loggat in tidigare. Vissa identitetsprovidrar, till exempel Google, stöder inte en inbäddad vyupplevelse.
Om du vill ändra det här beteendet öppnar du filen app/src/main/res/raw/auth_config_b2c.json . Lägg sedan till authorization_user_agent attributet med värdet WEBVIEW . I följande exempel visas hur du ändrar webbvytypen till inbäddad vy:
{
"authorization_user_agent": "WEBVIEW"
}
Nästa steg
- Mer information om Android-konfiguration finns i KONFIGURATIONsalternativ för MSAL för Android.