Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
2025. május 1-jére az Azure AD B2C már nem lesz elérhető az új ügyfelek számára. További információ a GYIK-ben.
Ez a cikk azt ismerteti, hogyan engedélyezheti, szabhatja testre és fejlesztheti az Azure Active Directory B2C (Azure AD B2C) hitelesítési élményt androidos alkalmazásához.
Mielőtt hozzákezd, ismerkedjen meg a következő cikkekkel:
- Hitelesítés konfigurálása androidos mintaalkalmazásban az Azure AD B2C használatával
- Hitelesítés engedélyezése saját Android-alkalmazásban az Azure AD B2C használatával
Egyéni tartomány használata
Egyéni domain használatával teljesen testre szabhatja a hitelesítési URL-t. Felhasználói szempontból a felhasználók a hitelesítési folyamat során a tartományon maradnak, ahelyett, hogy az Azure AD B2C b2clogin.com tartománynévre irányítanák át őket.
Ha az URL-címben el szeretné távolítani a "b2c" kifejezésre mutató összes hivatkozást, a B2C-bérlő nevét is lecserélheti contoso.onmicrosoft.com a hitelesítési kérelem URL-címében a bérlőazonosító GUID azonosítójával. Például átválthatja a https://fabrikamb2c.b2clogin.com/contoso.onmicrosoft.com/ elemet a https://account.contosobank.co.uk/<tenant ID GUID>/ elemre.
Ha egyéni tartományt és bérlőazonosítót szeretne használni a hitelesítési URL-címben, kövesse az Egyéni tartományok engedélyezése című útmutatót. Keresse meg a Microsoft Authentication Libraryt (MSAL konfigurációs objektumot), majd frissítse a hatóságokat az egyéni tartománynévvel és a bérlőazonosítóval.
Az alábbi Kotlin-kód az MSAL konfigurációs objektumot jeleníti meg a módosítás előtt:
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.fromAuthority("https://contoso.b2clogin.com/fabrikamb2c.contoso.com/B2C_1_susi")
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Az alábbi Kotlin-kód az MSAL konfigurációs objektumot jeleníti meg a módosítás után:
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)
A bejelentkezési név előzetes feltöltése
A bejelentkezési felhasználói folyamat során előfordulhat, hogy az alkalmazás egy adott felhasználót céloz meg. Amikor egy alkalmazás egy felhasználót céloz meg, az engedélyezési kérelemben megadhatja a login_hint lekérdezési paramétert a felhasználó bejelentkezési nevével. Az Azure AD B2C automatikusan kitölti a bejelentkezési nevet, és a felhasználónak csak a jelszót kell megadnia.
A bejelentkezési név előzetes feltöltéséhez tegye a következőket:
- Ha egyéni szabályzatot használ, adja hozzá a szükséges bemeneti jogcímet a közvetlen bejelentkezés beállítása című cikkben leírtak szerint.
- Keresse meg az MSAL konfigurációs objektumot, majd adja hozzá a
withLoginHint()metódust a bejelentkezési tipptel.
val parameters = AcquireTokenParameters.Builder()
.startAuthorizationFromActivity(activity)
.withLoginHint("bob@contoso.com")
// More settings here
.build()
b2cApp!!.acquireToken(parameters)
Identitásszolgáltató előzetes kijelölése
Ha úgy konfigurálta az alkalmazás bejelentkezési útját, hogy közösségi fiókokat , például Facebookot, LinkedIn-t vagy Google-t is tartalmazzon, megadhatja a paramétert domain_hint . Ez a lekérdezési paraméter az Azure AD B2C-nek a bejelentkezéshez használandó közösségi identitásszolgáltatóra vonatkozó tippet nyújt. Ha például az alkalmazás megadja domain_hint=facebook.com, a bejelentkezési folyamat közvetlenül a Facebook bejelentkezési oldalára kerül.
A felhasználók külső identitásszolgáltatóhoz való átirányításához tegye a következőket:
- Ellenőrizze a külső identitásszolgáltató tartománynevét. További információ: Bejelentkezés átirányítása közösségi szolgáltatóhoz.
- Hozzon létre vagy használjon egy meglévő listaobjektumot további lekérdezési paraméterek tárolására.
- Adja hozzá a
domain_hintparamétert a megfelelő tartománynévvel a listához (példáulfacebook.com). - Adja át a további lekérdezési paraméterek listáját az MSAL konfigurációs objektum metódusába
withAuthorizationQueryStringParameters.
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)
A felhasználói felület nyelvének megadása
Az Azure AD B2C nyelvi testreszabása lehetővé teszi a felhasználói folyamat számára, hogy az ügyfelek igényeinek megfelelően különféle nyelveket fogadjon el. További információ: Nyelvi testreszabás.
Az előnyben részesített nyelv beállításához tegye a következőket:
- Nyelvi testreszabás konfigurálása.
- Hozzon létre vagy használjon egy meglévő listaobjektumot további lekérdezési paraméterek tárolására.
- Adja hozzá a
ui_localesparamétert a megfelelő nyelvi kóddal a listához (példáulen-us). - Adja át a további lekérdezési paraméterek listáját az MSAL konfigurációs objektum metódusába
withAuthorizationQueryStringParameters.
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)
Egyéni lekérdezési sztringparaméter átadása
Egyéni szabályzatokkal egyéni lekérdezési sztringparamétert adhat át. Jó példa erre, ha dinamikusan szeretné módosítani a lap tartalmát.
Egyéni lekérdezési sztringparaméter átadásához tegye a következőket:
- Konfigurálja a ContentDefinitionParameters elemet.
- Hozzon létre vagy használjon egy meglévő listaobjektumot további lekérdezési paraméterek tárolására.
- Adja hozzá az egyéni lekérdezési sztring paramétert, például
campaignId. Adja meg a paraméter értékét (példáulgermany-promotion). - Adja át a további lekérdezési paraméterek listáját az MSAL konfigurációs objektum metódusába
withAuthorizationQueryStringParameters.
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)
Azonosító token javaslat átadása
A függő entitásalkalmazások az OAuth2 engedélyezési kérelem részeként küldhetnek bejövő JSON-webjogkivonatot (JWT). A bejövő jogkivonat egy jelzés a felhasználóra vagy az engedélyezési kérelemre vonatkozóan. Az Azure AD B2C ellenőrzi a jogkivonatot, majd kinyeri a jogcímet.
Azonosító token javaslat hozzáadásához a hitelesítési kéréshez, tegye a következőket:
- Az egyéni szabályzatban definiáljon egy ID token hint technikai profil definíciót.
- A kódban hozzon létre vagy szerezzen be egy azonosító jogkivonatot, majd állítsa be a jogkivonatot egy változóra (például
idToken). - Hozzon létre vagy használjon egy meglévő listaobjektumot további lekérdezési paraméterek tárolására.
- Az
id_token_hintparamétert adja hozzá az azonosító jogkivonatot tároló megfelelő változóhoz. - Adja át a további lekérdezési paraméterek listáját az MSAL konfigurációs objektum metódusába
withAuthorizationQueryStringParameters.
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)
Beágyazott webes nézet felülete
Az interaktív hitelesítéshez webböngészőkre van szükség. Alapértelmezés szerint az MSAL-kódtár a rendszer webes nézetét használja. A bejelentkezés során az MSAL-kódtár felugrik az Android rendszer webes nézetére az Azure AD B2C felhasználói felületével.
További információ: Az alkalmazások közötti egyszeri bejelentkezés engedélyezése Androidon MSAL használatával című cikk.
A követelményektől függően használhatja a beágyazott webes nézetet. A beágyazott webes nézet és az MSAL rendszer webes nézete között vizualizációs és egyszeri bejelentkezéses viselkedésbeli különbségek vannak.
Fontos
Javasoljuk, hogy az alapértelmezett platformot használja, amely általában a rendszerböngésző. A rendszerböngésző jobban emlékszik a korábban bejelentkezett felhasználókra. Egyes identitásszolgáltatók, például a Google, nem támogatják a beágyazott nézet használatát.
A viselkedés módosításához nyissa meg az alkalmazás/src/main/res/raw/auth_config_b2c.json fájlt. Ezután adja hozzá az authorization_user_agent attribútumot az WEBVIEW értékkel. Az alábbi példa bemutatja, hogyan módosíthatja a webes nézet típusát beágyazott nézetre:
{
"authorization_user_agent": "WEBVIEW"
}
Következő lépések
- Az Android-konfigurációval kapcsolatos további információkért tekintse meg az Androidhoz készült MSAL konfigurációs beállításait.