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


Hitelesítés konfigurálása egy minta Android-alkalmazásban a Azure AD B2C

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 egy minta Android-alkalmazást (Kotlin és Java) használ annak bemutatására, hogyan adhat hozzá Azure Active Directory B2C (Azure AD B2C) hitelesítést a mobilalkalmazásokhoz.

Áttekintés

Az OpenID Connect (OIDC) egy olyan hitelesítési protokoll, amely az OAuth 2.0-ra épül. Az OIDC használatával biztonságosan bejelentkezhet a felhasználók egy alkalmazásba. Ez a mobilalkalmazás-minta a Microsoft Authentication Libraryt (MSAL) használja az OIDC engedélyezési kóddal PKCE folyamattal. Az MSAL egy Microsoft által biztosított kódtár, amely leegyszerűsíti a hitelesítés és az engedélyezés támogatását a mobilalkalmazásokhoz.

A bejelentkezési folyamat a következő lépéseket foglalja magában:

  1. A felhasználók megnyitják az alkalmazást, és kiválasztják a bejelentkezést.
  2. Az alkalmazás megnyitja a mobileszköz rendszerböngészőjét, és elindít egy hitelesítési kérést az Azure AD B2C-hez.
  3. A felhasználók regisztrálnak vagy bejelentkeznek, visszaállítják a jelszót, vagy egy közösségi fiókkal jelentkeznek be.
  4. Miután a felhasználók sikeresen bejelentkeznek, az Azure AD B2C egy engedélyezési kódot ad vissza az alkalmazásnak.
  5. Az alkalmazás a következő műveleteket hajtja végre:
    1. Az engedélyezési kódot azonosító jogkivonatra, hozzáférési jogkivonatra és frissítési jogkivonatra cseréli.
    2. Beolvassa az ID token követeléseket.
    3. A tokeneket egy memóriabeli gyorsítótárban tárolja későbbi felhasználásra.

Az alkalmazás regisztrációjának áttekintése

Ha engedélyezni szeretné, hogy az alkalmazás bejelentkezzen a Azure AD B2C, és meghívjon egy webes API-t, regisztráljon két alkalmazást a Azure AD B2C címtárban.

  • A mobilalkalmazás-regisztrációval az alkalmazás bejelentkezhet az Azure AD B2C-vel. Az alkalmazásregisztráció során adja meg az átirányítási URI-t. Az átirányítási URI az a végpont, amelyre az Azure AD B2C átirányítja a felhasználókat az Azure AD B2C-vel való hitelesítés után. Az alkalmazásregisztrációs folyamat létrehoz egy alkalmazásazonosítót, más néven ügyfél-azonosítót, amely egyedileg azonosítja a mobilalkalmazást (például alkalmazásazonosító: 1).

  • A webes API-regisztrációval az alkalmazás meghívhat egy védett webes API-t. A regisztráció elérhetővé teszi a webes API-engedélyeket (hatóköröket). Az alkalmazás regisztrációs folyamata létrehoz egy alkalmazásazonosítót, amely egyedülálló módon azonosítja a webes API-ját (például: App ID: 2). Adjon engedélyt mobilalkalmazásának (alkalmazásazonosító: 1) a webes API-hatóköröknek (alkalmazásazonosító: 2).

Az alkalmazások regisztrációját és az alkalmazásarchitektúrát az alábbi ábrák szemléltetik:

Mobilalkalmazás diagramja webes API-hívásregisztrációkkal és tokenekkel.

Webes API meghívása

A hitelesítés befejezése után a felhasználók kapcsolatba lépnek az alkalmazással, amely egy védett webes API-t hív meg. A webes API hozzáférési token hitelesítést használ. A bearer token az az alkalmazás által az Azure AD B2C-ből beszerzett hozzáférési token. Az alkalmazás átadja a tokent a HTTPS-kérés hitelesítési fejlécében.

Authorization: Bearer <access token>

Ha a hozzáférési jogkivonat hatóköre nem egyezik a webes API hatóköreivel, a hitelesítési kódtár egy új hozzáférési jogkivonatot szerez be a megfelelő hatókörökkel.

A kijelentkezés folyamata

A kijelentkezés folyamata a következő lépésekből áll:

  1. Az alkalmazásból a felhasználók kijelentkeznek.
  2. Az alkalmazás törli saját munkamenet-objektumait, és a hitelesítési könyvtár törli a jogkivonat-gyorsítótárát.
  3. Az alkalmazás az Azure AD B2C bejelentkezési végpontra viszi a felhasználókat az Azure AD B2C-munkamenet leállításához.
  4. A rendszer visszairányítja a felhasználókat az alkalmazásba.

Előfeltételek

Futó számítógép:

1. lépés: A felhasználói folyamat konfigurálása

Amikor a felhasználók megpróbálnak bejelentkezni az alkalmazásba, az alkalmazás elindít egy hitelesítési kérést az engedélyezési végponthoz egy felhasználói folyamaton keresztül. A felhasználói folyamat határozza meg és szabályozza a felhasználói élményt. Miután a felhasználók befejezték a felhasználói folyamatot, az Azure AD B2C létrehoz egy jogkivonatot, majd visszairányítja a felhasználókat az alkalmazásba.

Ha még nem tette meg, hozzon létre egy felhasználói folyamatot vagy egy egyéni szabályzatot. Ismételje meg a lépéseket három különálló felhasználói folyamat létrehozásához az alábbiak szerint:

  • Kombinált bejelentkezési és regisztrációs felhasználói folyamat, például susi. Ez a felhasználói folyamat az Elfelejtett jelszó funkciót is támogatja.
  • Egy profilszerkesztési felhasználói folyamat, mint például .
  • Egy jelszó visszaállítása felhasználói folyamat, például reset_password.

Az Azure AD B2C előfűzi a B2C_1_ a felhasználói folyamat neve elé. susi például B2C_1_susilesz.

2. lépés: Mobilalkalmazások regisztrálása

Hozza létre a mobilalkalmazást és a webes API-alkalmazásregisztrációt, és adja meg a webes API hatókörét.

2.1. lépés: A web API-alkalmazás regisztrálása

A webes API-alkalmazásregisztráció létrehozásához (alkalmazásazonosító: 2) kövesse az alábbi lépéseket:

  1. Jelentkezzen be a Azure portalra.

  2. Győződjön meg arról, hogy az Azure AD B2C-bérlőt tartalmazó könyvtárat használja. Válassza a Címtárak + előfizetések ikont a portál eszköztárán.

  3. A Portál beállításai | Címtárak + előfizetések lap, keresse meg az Azure AD B2C-címtárat a címtárnévlistában, majd válassza a Váltás lehetőséget.

  4. Az Azure Portalon keresse meg és válassza ki az Azure AD B2C-t.

  5. Válassza Alkalmazásregisztrációklehetőséget, majd válassza Új regisztrációslehetőséget.

  6. A Név mezőbe írja be az alkalmazás nevét (például my-api1). Hagyja meg az átirányítási URI és a támogatott fióktípusok alapértelmezett értékeit.

  7. Válassza a Regisztrálás lehetőséget.

  8. Az alkalmazásregisztráció befejezése után válassza az Áttekintés lehetőséget.

  9. Jegyezze fel az alkalmazás (ügyfél) azonosítóját a webalkalmazás konfigurálásakor későbbi használatra.

    Képernyőkép, amely bemutatja, hogyan szerezhet be webes A P I-alkalmazás I D-t.

2.2. lépés: Web API-alkalmazások hatóköreinek konfigurálása

  1. Válassza ki a létrehozott my-api1 alkalmazást (alkalmazásazonosító: 2) az Áttekintés lap megnyitásához.

  2. A Kezelésalatt válassza a API közzétételelehetőséget.

  3. Az alkalmazásazonosító URI-ja mellett válassza a Beállítás hivatkozást. Cserélje le az alapértelmezett értéket (GUID) egy egyedi névre (például tasks-api), majd válassza a Mentés lehetőséget.

    Amikor a webalkalmazás hozzáférési jogkivonatot kér a webes API-hoz, ezt az URI-t kell hozzáadnia az API-hoz definiált hatókörök előtagjaként.

  4. Az API-által definiálthatókörök alatt kattintson a Hatókör hozzáadásagombra.

  5. Az API olvasási hozzáférését meghatározó hatókör létrehozása:

    1. A hatókör neveként adja meg a tasks.read értéket.
    2. A „Rendszergazdai hozzájárulás megjelenítendő neve” mezőbe írja be a „Feladatok API olvasási hozzáférés” kifejezést.
    3. A rendszergazdai hozzájárulás leírásához írja be, hogy Engedélyezi a feladatok API olvasási hozzáférést.
  6. Válassza a Hatókör hozzáadása lehetőséget.

  7. Válassza a Hatókör hozzáadása lehetőséget, majd adjon hozzá egy, az API írási hozzáférését meghatározó hatókört:

    1. A Hatókör neve mezőbe írja be: tasks.write.
    2. Az „Adminisztrátori hozzájárulás megjelenítendő neve” mezőbe írja be, hogy „Feladatok API-hoz írási hozzáférés”.
    3. A rendszergazdai hozzájárulás leírásához írja be, hogy Lehetővé teszi az írási hozzáférést a feladatkezelő API-hoz.
  8. Válassza a Hatókör hozzáadása lehetőséget.

2.3. lépés: A mobilalkalmazás regisztrálása

A mobilalkalmazás-regisztráció létrehozásához tegye a következőket:

  1. Jelentkezzen be a Azure portalra.

  2. Válassza Alkalmazásregisztrációklehetőséget, majd válassza Új regisztrációslehetőséget.

  3. A Név alatt adja meg az alkalmazás nevét (például android-app1).

  4. A Támogatott fióktípusokterületen válassza a -fiókokat bármely identitásszolgáltatóban vagy szervezeti könyvtárban (felhasználói folyamatokkal rendelkező felhasználók hitelesítéséhez).

  5. Az Átirányítási URI alatt válassza a Nyilvános ügyfél/natív (mobil és asztali) lehetőséget, majd az URL-cím mezőbe írja be az alábbi URI-k egyikét:

    • A Kotlin-minta esetében: msauth://com.azuresamples.msalandroidkotlinapp/1wIqXSqBj7w%2Bh11ZifsnqwgyKrY%3D
    • A Java-minta esetében: msauth://com.azuresamples.msalandroidapp/1wIqXSqBj7w%2Bh11ZifsnqwgyKrY%3D
  6. Válassza a Regisztrálás lehetőséget.

  7. Az alkalmazásregisztráció befejezése után válassza az Áttekintés lehetőséget.

  8. A mobilalkalmazás konfigurálásakor jegyezze fel az alkalmazás (ügyfél) azonosítóját későbbi használatra.

    Képernyőkép az Android-alkalmazás azonosítójáról

2.4. lépés: Mobilalkalmazás-engedélyek megadása a webes API-hoz

Az alkalmazás (alkalmazásazonosító: 1) engedélyének megadásához kövesse az alábbi lépéseket:

  1. Válassza Alkalmazásregisztrációk, majd válassza ki a létrehozott alkalmazást (alkalmazásazonosító: 1).

  2. A Kezelés területen válassza ki az API-engedélyeket.

  3. A Konfigurált engedélyek csoportban válassza az Engedély hozzáadása lehetőséget.

  4. Válassza a Saját API-k lapot.

  5. Válassza ki azt az API-t (alkalmazásazonosító: 2), amelyhez a webalkalmazásnak hozzáférést kell biztosítani. Például írja be, hogy my-api1.

  6. Az Engedély területen bontsa ki a tevékenységeket, majd válassza ki a korábban definiált hatóköröket (például tasks.read és tasks.write).

  7. Válassza a(z) Engedélyek hozzáadásalehetőséget.

  8. Válassza a <bérlője nevének> rendszergazdai hozzájárulás megadása lehetőséget.

  9. Válassza az Igen lehetőséget.

  10. Válassza a Frissítés lehetőséget, majd ellenőrizze, hogy a Megadva ...-nak megjelenik-e Állapot alatt mindkét hatókör esetén.

  11. A Konfigurált engedélyek listájában válassza ki a hatókört, majd másolja a hatókör teljes nevét.

    Képernyőkép a konfigurált engedélyek panelről, amelyen az olvasási hozzáférési engedélyek megadása látható.

3. lépés: Az Android-mobilalkalmazás-minta beszerzése

Hajtsa végre az alábbi műveletek egyikét:

  • Töltse le az alábbi minták valamelyikét:

    Bontsa ki a minta .zip fájlt a munkamappába.

  • Klónozza a minta Android-mobilalkalmazást a GitHubról.

    git clone https://github.com/Azure-Samples/ms-identity-android-kotlin
    

4. lépés: A minta webes API konfigurálása

Ez a példa olyan hozzáférési tokent szerez be, amely a mobilalkalmazás számára használható a webes API-hoz szükséges hatókörökkel. Ha egy webes API-t kódból szeretne meghívni, tegye a következőket:

  1. Használjon meglévő webes API-t, vagy hozzon létre egy újat. További információ: Hitelesítés engedélyezése saját webes API-ban az Azure AD B2C használatával.
  2. Módosítsa a mintakódot egy webes API meghívásához.

5. lépés: A minta mobilalkalmazás konfigurálása

Nyissa meg a mintaprojektet az Android Studio vagy egy másik kódszerkesztővel, majd nyissa meg a /app/src/main/res/raw/auth_config_b2c.json fájlt.

A auth_config_b2c.json konfigurációs fájl információkat tartalmaz a Azure AD B2C identitásszolgáltatóról. A mobilalkalmazás ezeket az információkat felhasználva megbízhatósági kapcsolatot létesít az Azure AD B2C-vel, bejelentkezteti a felhasználókat, ki- és bejelentkezik, jogkivonatokat szerez be és érvényesít.

Frissítse az alábbi alkalmazásbeállítások tulajdonságait:

Kulcs Érték
client_id A mobilalkalmazás azonosítója a 2.3. lépésből.
redirect_uri A mobilalkalmazás átirányítási URI-ja a 2.3. lépésből.
hatóságok A szolgáltató egy URL-cím, amely azt a könyvtárat jelzi, amelyből az MSAL jogkivonatokat kérhet. Használja a következő formátumot: https://<your-tenant-name>.b2clogin.com/<your-tenant-name>.onmicrosoft.com/<your-sign-in-sign-up-policy>. Cserélje le <your-tenant-name> az Azure AD B2C bérlő nevét. Ezután cserélje le az <your-sign-in-sign-up-policy>1. lépésben létrehozott felhasználói folyamatokra vagy egyéni szabályzatra.

Nyissa meg az osztályt B2CConfiguration , és frissítse a következő osztálytagokat:

Kulcs Érték
Szabályzatok Az 1. lépésben létrehozott felhasználói folyamatok vagy egyéni szabályzatok listája.
azureAdB2CHostName Azure AD B2C bérlőnevének első része (például, ).
bérlőNeve Az ön Azure AD B2C bérlő teljes bérlőnév (például, contoso.onmicrosoft.com).
Hatáskörök A 2.4. lépésben létrehozott webes API-hatókörök.

6. lépés: A mobilalkalmazás futtatása és tesztelése

  1. Hozza létre és futtassa a projektet.

  2. A bal felső sarokban válassza ki a hamburger ikont (más néven összecsukott menü ikont), az itt látható módon:

    Képernyőkép a hamburger vagy az összecsukott menü ikonjáról.

  3. A bal oldali panelen válassza a B2C mód lehetőséget.

    Képernyőkép, amely kiemeli a

  4. Válassza a Felhasználói folyamat futtatása lehetőséget.

    Képernyőkép a

  5. Regisztráljon vagy jelentkezzen be Azure AD B2C helyi vagy közösségi fiókjával.

  6. A sikeres hitelesítés után a megjelenítendő név megjelenik a B2C mód panelen.

    Képernyőkép a sikeres hitelesítésről, a bejelentkezett felhasználóval és a szabályzattal.

Következő lépések

Tanulja meg, hogyan: