Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Vanaf 1 mei 2025 is Azure AD B2C niet meer beschikbaar voor nieuwe klanten. Meer informatie vindt u in onze veelgestelde vragen.
In dit artikel wordt beschreven hoe u de verificatie-ervaring van Azure Active Directory B2C (Azure AD B2C) voor uw Android-toepassing kunt inschakelen, aanpassen en verbeteren.
Voordat u begint, moet u vertrouwd raken met de volgende artikelen:
- Verificatie configureren in een Android-voorbeeld-app met behulp van Azure AD B2C
- Verificatie inschakelen in uw eigen Android-app met behulp van Azure AD B2C
Gebruik een eigen domein
Met behulp van een aangepast domein kunt u de verificatie-URL volledig brandmerken. Vanuit het oogpunt van een gebruiker blijven gebruikers in uw domein tijdens het verificatieproces, in plaats van om te worden omgeleid naar de Azure AD B2C-b2clogin.com domeinnaam.
Als u alle verwijzingen naar 'b2c' in de URL wilt verwijderen, kunt u ook de naam van uw B2C-tenant, contoso.onmicrosoft.com, in de verificatieaanvraag-URL vervangen door de GUID van uw tenant-id. U kunt bijvoorbeeld overschakelen naar https://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/https://account.contosobank.co.uk/<tenant ID GUID>/.
Als u een aangepast domein en uw tenant-id in de verificatie-URL wilt gebruiken, volgt u de richtlijnen in Aangepaste domeinen inschakelen. Zoek naar uw Microsoft Authentication Library (MSAL-configuratieobject) en werk de autoriteiten vervolgens bij met uw aangepaste domeinnaam en tenant-id.
De volgende Kotlin-code toont het MSAL-configuratieobject vóór de wijziging:
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.fromAuthority("https://contoso.b2clogin.com/fabrikamb2c.contoso.com/B2C_1_susi")
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
De volgende Kotlin-code toont het MSAL-configuratieobject na de wijziging:
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)
De aanmeldingsnaam vooraf invullen
Tijdens een aanmeldingsgebruikerstraject kan uw app zich richten op een specifieke gebruiker. Wanneer een app is gericht op een gebruiker, kan deze in de autorisatieaanvraag de login_hint queryparameter opgeven met de aanmeldingsnaam van de gebruiker. Azure AD B2C vult automatisch de aanmeldingsnaam in en de gebruiker moet alleen het wachtwoord opgeven.
Ga als volgt te werk om de inlognaam vooraf in te vullen:
- Als u een aangepast beleid gebruikt, voegt u de vereiste invoerclaim toe, zoals beschreven in Directe aanmelding instellen.
- Zoek naar uw MSAL-configuratieobject en voeg vervolgens de
withLoginHint()methode toe met de aanmeldingshint.
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.withLoginHint("bob@contoso.com")
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Een id-provider vooraf selecteren
Als u het aanmeldingstraject voor uw toepassing hebt geconfigureerd voor het opnemen van sociale accounts, zoals Facebook, LinkedIn of Google, kunt u de domain_hint parameter opgeven. Deze queryparameter biedt een hint voor Azure AD B2C over de id-provider voor sociale netwerken die moet worden gebruikt voor aanmelding. Als de toepassing bijvoorbeeld opgeeft domain_hint=facebook.com, gaat de aanmeldingsstroom rechtstreeks naar de aanmeldingspagina van Facebook.
Ga als volgt te werk om gebruikers om te leiden naar een externe id-provider:
- Controleer de domeinnaam van uw externe id-provider. Zie Aanmelding omleiden naar een sociale providervoor meer informatie.
- Maak of gebruik een bestaand lijstobject om extra queryparameters op te slaan.
- Voeg de
domain_hintparameter met de bijbehorende domeinnaam toe aan de lijst (bijvoorbeeldfacebook.com). - Geef de lijst met extra queryparameters door aan de methode van
withAuthorizationQueryStringParametershet MSAL-configuratieobject.
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)
De gebruikersinterfacetaal opgeven
Met taalaanpassing in Azure AD B2C kan uw gebruikersstroom voldoen aan verschillende talen die aansluiten bij de behoeften van uw klanten. Zie Taalaanpassing voor meer informatie.
Ga als volgt te werk om de voorkeurstaal in te stellen:
- Taalaanpassing configureren.
- Maak of gebruik een bestaand lijstobject om extra queryparameters op te slaan.
- Voeg de
ui_localesparameter met de bijbehorende taalcode toe aan de lijst (bijvoorbeelden-us). - Geef de lijst met extra queryparameters door aan de methode van
withAuthorizationQueryStringParametershet MSAL-configuratieobject.
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)
Een aangepaste queryreeksparameter doorgeven
Met aangepast beleid kunt u een aangepaste querytekenreeksparameter doorgeven. Een goed gebruiksvoorbeeld is wanneer u de pagina-inhoud dynamisch wilt wijzigen.
Ga als volgt te werk om een aangepaste queryreeksparameter door te geven:
- Configureer het element ContentDefinitionParameters .
- Maak of gebruik een bestaand lijstobject om extra queryparameters op te slaan.
- Voeg de aangepaste querytekenreeksparameter toe, zoals
campaignId. Stel de parameterwaarde in (bijvoorbeeldgermany-promotion). - Geef de lijst met extra queryparameters door aan de methode van
withAuthorizationQueryStringParametershet MSAL-configuratieobject.
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)
Een id-tokenhint doorgeven
Een relying party-toepassing kan een binnenkomend JSON-webtoken (JWT) verzenden als onderdeel van de OAuth2-autorisatieaanvraag. Het binnenkomende token is een hint over de gebruiker of de autorisatieaanvraag. Azure AD B2C valideert het token en extraheert vervolgens de claim.
Ga als volgt te werk om een id-tokenhint op te nemen in de verificatieaanvraag:
- Definieer in uw aangepaste beleid een technisch profiel voor id-tokenhints.
- Genereer of verwerf een id-token in uw code en stel het token vervolgens in op een variabele (bijvoorbeeld
idToken). - Maak of gebruik een bestaand lijstobject om extra queryparameters op te slaan.
- Voeg de
id_token_hintparameter toe met de bijbehorende variabele waarin het id-token wordt opgeslagen. - Geef de lijst met extra queryparameters door aan de methode van
withAuthorizationQueryStringParametershet MSAL-configuratieobject.
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)
Ingesloten webweergave-ervaring
Webbrowsers zijn vereist voor interactieve verificatie. De MSAL-bibliotheek maakt standaard gebruik van de systeemwebweergave. Tijdens het aanmelden wordt de MSAL-bibliotheek weergegeven in de webweergave van het Android-systeem met de Gebruikersinterface van Azure AD B2C.
Zie voor meer informatie het artikel SSO voor meerdere apps inschakelen op Android met behulp van MSAL .
Afhankelijk van uw vereisten kunt u de ingesloten webweergave gebruiken. Er zijn visuele en eenmalige aanmeldingsgedragsverschillen tussen de ingesloten webweergave en de systeemwebweergave in MSAL.
Belangrijk
U wordt aangeraden de standaardinstelling van het platform te gebruiken. Dit is gewoonlijk de systeembrowser. De systeembrowser is beter in het onthouden van de gebruikers die zich eerder hebben aangemeld. Sommige id-providers, zoals Google, bieden geen ondersteuning voor een ingesloten weergave-ervaring.
Als u dit gedrag wilt wijzigen, opent u het bestand app/src/main/res/raw/auth_config_b2c.json . Voeg vervolgens het authorization_user_agent kenmerk toe met de WEBVIEW waarde. In het volgende voorbeeld ziet u hoe u het type webweergave wijzigt in een ingesloten weergave:
{
"authorization_user_agent": "WEBVIEW"
}