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


Jelentkezzen be a felhasználókba, és hívjon meg egy védett webes API-t az Android-mintaalkalmazásban (Kotlin)

Ez az útmutató bemutatja, hogyan konfigurálhat egy androidos mintaalkalmazást a felhasználók bejelentkezésére, és hogyan hívhat meg egy ASP.NET Core webes API-t.

Ebben a cikkben a következő feladatokat hajtja végre:

  • Alkalmazás regisztrálása a Microsoft Entra felügyeleti központban.
  • Adjon hozzá egy platformátirányítási URL-címet.
  • Nyilvános ügyfélfolyamatok engedélyezése.
  • Frissítse az Android konfigurációs kód mintafájlját, hogy saját Microsoft Entra Külső ID használjon az ügyfélbérlelő adataihoz.
  • Futtassa és tesztelje a minta Android-mobilalkalmazást.
  • Hívjon meg egy védett webes API-t.

Előfeltételek

  • Android Studio.

  • Külső bérlő. Ha még nincs ilyenje, regisztráljon egy ingyenes próbaverzióra.

  • Olyan API-regisztráció, amely legalább egy hatókört (delegált engedélyeket) és egy alkalmazásszerepkört (alkalmazásengedélyt) tesz elérhetővé, például a ToDoList.Readet. Ha még nem tette meg, kövesse az utasításokat , hogy meghívjon egy API-t egy minta Android-mobilalkalmazásban , hogy funkcionálisan védett ASP.NET Core webes API-val rendelkezzen. Győződjön meg arról, hogy végrehajtja a következő lépéseket:

    • Web API-alkalmazás regisztrálása
    • API-hatókörök konfigurálása
    • Alkalmazásszerepkörök konfigurálása
    • Nem kötelező jogcímek konfigurálása
    • Minta webes API klónozása vagy letöltése
    • Webes MINTA API konfigurálása és futtatása

Egy alkalmazás regisztrálása

Ahhoz, hogy az alkalmazás bejelentkezhessen a Microsoft Entra szolgáltatással, Microsoft Entra Külső ID tisztában kell lennie a létrehozott alkalmazással. Az alkalmazásregisztráció megbízhatósági kapcsolatot létesít az alkalmazás és a Microsoft Entra között. Amikor regisztrál egy alkalmazást, a külső azonosító létrehoz egy egyedi azonosítót, más néven egy alkalmazás (ügyfél) azonosítót, amely az alkalmazás azonosítására szolgál a hitelesítési kérelmek létrehozásakor.

Az alábbi lépések bemutatják, hogyan regisztrálhatja az alkalmazást a Microsoft Entra Felügyeleti központban:

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább alkalmazásfejlesztőként.

  2. Ha több bérlőhöz is hozzáfér, a felső menü Beállítások ikonjával válthat a külső bérlőre a Könyvtárak + előfizetések menüből.

  3. Keresse meg az identitásalkalmazásokat>> Alkalmazásregisztrációk.

  4. Válassza az + Új regisztráció lehetőséget.

  5. A Megjelenő alkalmazás regisztrálása lapon;

    1. Adjon meg egy értelmes alkalmazásnevet, amely az alkalmazás felhasználói számára jelenik meg, például ciam-client-app.
    2. A Támogatott fióktípusok csoportban válassza a Csak ebben a szervezeti címtárban lévő Fiókok lehetőséget.
  6. Válassza ki a pénztárgépet.

  7. Az alkalmazás Áttekintés panelje a sikeres regisztrációkor jelenik meg. Jegyezze fel az alkalmazás forráskódjában használandó alkalmazás-(ügyfél-) azonosítót .

Platformátirányítási URL-cím hozzáadása

Ha meg szeretné adni az alkalmazás típusát az alkalmazásregisztrációhoz, kövesse az alábbi lépéseket:

  1. A Kezelés területen válassza a Hitelesítés lehetőséget.
  2. A Platformkonfigurációk lapon válassza a Platform hozzáadása, majd az Android lehetőséget.
  3. Adja meg a projekt csomagnevét. Ha letöltötte a mintakódot, ez az érték .com.azuresamples.msaldelegatedandroidkotlinsampleapp
  4. Az Android-alkalmazás konfigurálása panel Aláírás kivonat szakaszában válassza a Fejlesztési aláírás kivonat létrehozása lehetőséget. Ez minden fejlesztési környezetben megváltozik. Másolja és futtassa az operációs rendszer KeyTool parancsát a terminálban.
  5. Adja meg a KeyTool által létrehozott aláíráskivonatot .
  6. Válassza a Konfigurálás lehetőséget.
  7. Másolja ki az MSAL-konfigurációt az Android konfigurációs panelről, és mentse a későbbi alkalmazáskonfigurációhoz.
  8. Válassza a Kész lehetőséget.

Nyilvános ügyfélfolyamat engedélyezése

Az alkalmazás nyilvános ügyfélként való azonosításához kövesse az alábbi lépéseket:

  1. A Kezelés területen válassza a Hitelesítés lehetőséget.

  2. A Speciális beállítások területen a nyilvános ügyfélfolyamatok engedélyezése beállításnál válassza az Igen lehetőséget.

  3. Válassza a Mentés lehetőséget a módosítások mentéséhez.

  1. A Alkalmazásregisztrációk lapon válassza ki a létrehozott alkalmazást (például a ciam-client-appot) az Áttekintés lap megnyitásához.

  2. A Kezelés területen válassza ki az API-engedélyeket. A Konfigurált engedélyek listájában az alkalmazáshoz a User.Read engedély lett hozzárendelve. Mivel azonban a bérlő egy külső bérlő, a felhasználói felhasználók maguk nem járulhatnak hozzá ehhez az engedélyhez. Önnek, mint rendszergazdának hozzá kell adnia ezt az engedélyt a bérlő összes felhasználója nevében:

    1. Válassza a rendszergazdai hozzájárulás megadása a bérlő nevének> megadását<, majd válassza az Igen lehetőséget.
    2. Válassza a Frissítés lehetőséget, majd ellenőrizze, hogy a bérlő nevének> megadása <mindkét hatókör állapotábanjelenik-e meg.

Webes API-engedélyek megadása az Android-mintaalkalmazáshoz

Miután regisztrálta az ügyfélalkalmazást és a webes API-t is, és hatókörök létrehozásával tette közzé az API-t, az alábbi lépések végrehajtásával konfigurálhatja az ügyfél engedélyeit az API-hoz:

  1. A Alkalmazásregisztrációk lapon válassza ki a létrehozott alkalmazást (például a ciam-client-appot) az Áttekintés lap megnyitásához.

  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 ki a szervezet által használt API-kat.

  5. Az API-k listájában válassza ki az API-t, például a ciam-ToDoList-api-t.

  6. Válassza a Delegált engedélyek lehetőséget.

  7. Az engedélyek listájában válassza a ToDoList.Read, a ToDoList.ReadWrite lehetőséget (szükség esetén használja a keresőmezőt).

  8. Válassza az Engedélyek hozzáadása gombot.

  9. Ezen a ponton helyesen rendelte hozzá az engedélyeket. Mivel azonban a bérlő egy ügyfél bérlője, a felhasználói felhasználók maguk nem járulhatnak hozzá ezekhez az engedélyekhez. Ennek kezeléséhez Önnek, mint rendszergazdának hozzá kell adnia ezeket az engedélyeket a bérlő összes felhasználója nevében:

    1. Válassza a rendszergazdai hozzájárulás megadása a bérlő nevének> megadását<, majd válassza az Igen lehetőséget.

    2. Válassza a Frissítés lehetőséget, majd ellenőrizze, hogy a bérlő nevének> megadása <mindkét engedély állapotábanmegjelenik-e.

  10. A Konfigurált engedélyek listájában egyenként válassza ki a ToDoList.Read és a ToDoList.ReadWrite engedélyeket, majd másolja ki az engedély teljes URI-ját későbbi használatra. A teljes engedély URI-ja hasonló vagy api://{clientId}/{ToDoList.ReadWrite}hasonlóapi://{clientId}/{ToDoList.Read}.

Minta Android-mobilalkalmazás klónozása

A mintaalkalmazás beszerzéséhez klónozhatja a GitHubról, vagy letöltheti .zip fájlként.

  • A minta klónozásához nyisson meg egy parancssort, és keresse meg a projektet, és írja be a következő parancsot:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-browser-delegated-android-sample
    

A minta Android-mobilalkalmazás konfigurálása

A hitelesítés és a webes API-erőforrásokhoz való hozzáférés engedélyezéséhez konfigurálja a mintát az alábbi lépések végrehajtásával:

  1. Az Android Studióban nyissa meg a klónozott projektet.

  2. Nyissa meg az /app/src/main/res/raw/auth_config_ciam.json fájlt.

  3. Keresse meg a helyőrzőt:

    • Enter_the_Application_Id_Here és cserélje le a korábban regisztrált alkalmazás (ügyfél) azonosítójára .
    • Enter_the_Redirect_Uri_Hereés cserélje le a redirect_uri értékére a microsoft authentication library (MSAL) konfigurációs fájlban, amely korábban a platform átirányítási URL-címének hozzáadásakor volt letöltve.
    • Enter_the_Tenant_Subdomain_Here és cserélje le a Címtár (bérlő) altartományra. Ha például a bérlő elsődleges tartománya, contoso.onmicrosoft.comhasználja a következőt contoso: Ha nem ismeri a bérlői altartományt, olvassa el a bérlő adatait.
  4. Nyissa meg az /app/src/main/AndroidManifest.xml fájlt.

  5. Keresse meg a helyőrzőt:

    • ENTER_YOUR_SIGNATURE_HASH_HERE és cserélje le a platform átirányítási URL-címének hozzáadásakor korábban létrehozott aláíráskivonatra .
  6. Nyissa meg az /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt fájlt.

  7. Keresse meg az elnevezett tulajdonságot WEB_API_BASE_URL , és állítsa be az URL-címet a webes API-ra.

  8. Keresse meg az elnevezett tulajdonságotscopes, és állítsa be az Android-mintaalkalmazáshoz a webes API-engedélyek megadása során rögzített hatóköröket.

    private const val scopes = "" // Developers should set the respective scopes of their web API here. For example, private const val scopes = "api://{clientId}/{ToDoList.Read} api://{clientId}/{ToDoList.ReadWrite}"
    

Konfigurálta az alkalmazást, és készen áll a futtatásra.

A minta Android-mobilalkalmazás futtatása és tesztelése

Az alkalmazás létrehozásához és futtatásához kövesse az alábbi lépéseket:

  1. Az eszköztáron válassza ki az alkalmazást a futtatási konfigurációk menüből.

  2. A céleszköz menüjében válassza ki azt az eszközt, amelyen futtatni szeretné az alkalmazást.

    Ha nincs konfigurálva eszköz, létre kell hoznia egy Android rendszerű virtuális eszközt az Android Emulator használatához, vagy fizikai Android-eszközt kell csatlakoztatnia.

  3. Kattintson a Futtatás gombra.

  4. A hozzáférési jogkivonat kéréséhez válassza a Jogkivonat interaktív beszerzése lehetőséget.

  5. Az API kiválasztása – A GET végrehajtása a korábban beállított ASP.NET Core webes API meghívásához. A webes API sikeres hívása HTTP 200-at ad vissza, míg a HTTP 403 jogosulatlan hozzáférést jelent.