Megosztás a következőn keresztül:


Hitelesítési beállítások konfigurálása Android-alkalmazásokban az Azure AD B2C használatával

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:

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:

  1. 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.
  2. 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:

  1. 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.
  2. Hozzon létre vagy használjon egy meglévő listaobjektumot további lekérdezési paraméterek tárolására.
  3. Adja hozzá a domain_hint paramétert a megfelelő tartománynévvel a listához (például facebook.com).
  4. 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:

  1. Nyelvi testreszabás konfigurálása.
  2. Hozzon létre vagy használjon egy meglévő listaobjektumot további lekérdezési paraméterek tárolására.
  3. Adja hozzá a ui_locales paramétert a megfelelő nyelvi kóddal a listához (például en-us).
  4. 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:

  1. Konfigurálja a ContentDefinitionParameters elemet.
  2. Hozzon létre vagy használjon egy meglévő listaobjektumot további lekérdezési paraméterek tárolására.
  3. 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ául germany-promotion).
  4. 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:

  1. Az egyéni szabályzatban definiáljon egy ID token hint technikai profil definíciót.
  2. 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).
  3. Hozzon létre vagy használjon egy meglévő listaobjektumot további lekérdezési paraméterek tárolására.
  4. Az id_token_hint paramétert adja hozzá az azonosító jogkivonatot tároló megfelelő változóhoz.
  5. 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.

A rendszer webes nézete és a beágyazott webes nézet közötti különbséget bemutató képernyőkép.

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