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 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:
- A felhasználók megnyitják az alkalmazást, és kiválasztják a bejelentkezést.
- 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.
- 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.
- Miután a felhasználók sikeresen bejelentkeznek, az Azure AD B2C egy engedélyezési kódot ad vissza az alkalmazásnak.
- Az alkalmazás a következő műveleteket hajtja végre:
- Az engedélyezési kódot azonosító jogkivonatra, hozzáférési jogkivonatra és frissítési jogkivonatra cseréli.
- Beolvassa az ID token követeléseket.
- 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:
- Az alkalmazásból a felhasználók kijelentkeznek.
- 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.
- 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.
- A rendszer visszairányítja a felhasználókat az alkalmazásba.
Előfeltételek
Futó számítógép:
- Java Development Kit (JDK) 8 vagy újabb
- Apache Maven
- Android API 16-os vagy újabb szint
- Android Studio vagy más kódszerkesztő
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:
Jelentkezzen be a Azure portalra.
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.
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.
Az Azure Portalon keresse meg és válassza ki az Azure AD B2C-t.
Válassza Alkalmazásregisztrációklehetőséget, majd válassza Új regisztrációslehetőséget.
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.
Válassza a Regisztrálás lehetőséget.
Az alkalmazásregisztráció befejezése után válassza az Áttekintés lehetőséget.
Jegyezze fel az alkalmazás (ügyfél) azonosítóját a webalkalmazás konfigurálásakor későbbi használatra.
2.2. lépés: Web API-alkalmazások hatóköreinek konfigurálása
Válassza ki a létrehozott my-api1 alkalmazást (alkalmazásazonosító: 2) az Áttekintés lap megnyitásához.
A Kezelésalatt válassza a API közzétételelehetőséget.
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.
Az API-által definiálthatókörök alatt kattintson a Hatókör hozzáadásagombra.
Az API olvasási hozzáférését meghatározó hatókör létrehozása:
- A hatókör neveként adja meg a tasks.read értéket.
- A „Rendszergazdai hozzájárulás megjelenítendő neve” mezőbe írja be a „Feladatok API olvasási hozzáférés” kifejezést.
- A rendszergazdai hozzájárulás leírásához írja be, hogy Engedélyezi a feladatok API olvasási hozzáférést.
Válassza a Hatókör hozzáadása lehetőséget.
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:
- A Hatókör neve mezőbe írja be: tasks.write.
- Az „Adminisztrátori hozzájárulás megjelenítendő neve” mezőbe írja be, hogy „Feladatok API-hoz írási hozzáférés”.
- 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.
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:
Jelentkezzen be a Azure portalra.
Válassza Alkalmazásregisztrációklehetőséget, majd válassza Új regisztrációslehetőséget.
A Név alatt adja meg az alkalmazás nevét (például android-app1).
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).
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
- A Kotlin-minta esetében:
Válassza a Regisztrálás lehetőséget.
Az alkalmazásregisztráció befejezése után válassza az Áttekintés lehetőséget.
A mobilalkalmazás konfigurálásakor jegyezze fel az alkalmazás (ügyfél) azonosítóját későbbi használatra.
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:
Válassza Alkalmazásregisztrációk, majd válassza ki a létrehozott alkalmazást (alkalmazásazonosító: 1).
A Kezelés területen válassza ki az API-engedélyeket.
A Konfigurált engedélyek csoportban válassza az Engedély hozzáadása lehetőséget.
Válassza a Saját API-k lapot.
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.
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).
Válassza a(z) Engedélyek hozzáadásalehetőséget.
Válassza a <bérlője nevének> rendszergazdai hozzájárulás megadása lehetőséget.
Válassza az Igen lehetőséget.
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.
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.
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.
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:
- 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.
- 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
Hozza létre és futtassa a projektet.
A bal felső sarokban válassza ki a hamburger ikont (más néven összecsukott menü ikont), az itt látható módon:
A bal oldali panelen válassza a B2C mód lehetőséget.
Válassza a Felhasználói folyamat futtatása lehetőséget.
Regisztráljon vagy jelentkezzen be Azure AD B2C helyi vagy közösségi fiókjával.
A sikeres hitelesítés után a megjelenítendő név megjelenik a B2C mód panelen.
Következő lépések
Tanulja meg, hogyan: