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


Jelentkezzen be a felhasználókba, és meghívjon egy API-t egy minta Android-mobilalkalmazásban natív hitelesítéssel

Ez a cikk bemutatja, hogyan konfigurálhat egy androidos mintaalkalmazást egy ASP.NET Core webes API meghívásához.

Előfeltételek

Web API-alkalmazás regisztrálása

  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 adja meg az alkalmazás regisztrációs adatait:

    1. A Név szakaszban adjon meg egy értelmes alkalmazásnevet, amely megjelenik az alkalmazás felhasználói számára, például ciam-ToDoList-api.

    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 a Regisztráció elemet az alkalmazás létrehozásához.

  7. A regisztráció befejezésekor megjelenik az alkalmazás Áttekintés panelje . Jegyezze fel a címtár (bérlő) azonosítóját és az alkalmazás forráskódjában használandó alkalmazás-(ügyfél-) azonosítót .

API-hatókörök konfigurálása

Az API-nak legalább egy hatókört , más néven delegált engedélyt kell közzétennie ahhoz, hogy az ügyfélalkalmazások sikeresen beszerezhessék a felhasználó hozzáférési jogkivonatát. Hatókör közzétételéhez kövesse az alábbi lépéseket:

  1. A Alkalmazásregisztrációk lapon válassza ki a létrehozott API-alkalmazást (ciam-ToDoList-api) az Áttekintés lap megnyitásához.

  2. A Kezelés területen válassza az API-k felfedése lehetőséget.

  3. A lap tetején, az alkalmazásazonosító URI-ja mellett válassza a Hozzáadás hivatkozást az alkalmazáshoz egyedi URI létrehozásához.

  4. Fogadja el a javasolt alkalmazásazonosító URI-ját, példáulapi://{clientId}, és válassza a Mentés lehetőséget. Amikor a webalkalmazás hozzáférési jogkivonatot kér a webes API-hoz, hozzáadja az URI-t az API-hoz definiált egyes hatókörök előtagjaként.

  5. Az API által definiált hatókörök alatt válassza a Hatókör hozzáadása lehetőséget.

  6. Adja meg a következő értékeket, amelyek olvasási hozzáférést határoznak meg az API-hoz, majd válassza a Hatókör hozzáadása lehetőséget a módosítások mentéséhez:

    Tulajdonság Érték
    Hatókör neve ToDoList.Read
    Ki adhat hozzájárulást? Csak rendszergazdák
    Rendszergazdai hozzájárulás megjelenítendő neve Felhasználók ToDo-listájának olvasása a "TodoListApi" használatával
    Rendszergazdai jóváhagyás leírása Engedélyezze az alkalmazás számára a felhasználó ToDo-listájának olvasását a "TodoListApi" használatával.
    Állapot Engedélyezve
  7. Válassza ismét a Hatókör hozzáadása lehetőséget, és adja meg az alábbi értékeket, amelyek írási és olvasási hozzáférési hatókört határoznak meg az API-hoz. A módosítások mentéséhez válassza a Hatókör hozzáadása lehetőséget:

    Tulajdonság Érték
    Hatókör neve ToDoList.ReadWrite
    Ki adhat hozzájárulást? Csak rendszergazdák
    Rendszergazdai hozzájárulás megjelenítendő neve Felhasználók ToDo-listájának olvasása és írása a "ToDoListApi" használatával
    Rendszergazdai jóváhagyás leírása Lehetővé teszi az alkalmazás számára a felhasználó ToDo-listájának olvasását és írását a "ToDoListApi" használatával
    Állapot Engedélyezve
  8. A Kezelés területen válassza a Jegyzékfájl lehetőséget az API jegyzékszerkesztőjének megnyitásához.

  9. Állítsa be accessTokenAcceptedVersion a tulajdonságot a következőre 2: .

  10. Válassza a Mentés lehetőséget.

További információ a webes API-k engedélyeinek közzétételekor a minimális jogosultság elvéről.

Alkalmazásszerepkörök konfigurálása

Az API-nak legalább egy alkalmazásszerepkört kell közzétennie az alkalmazásokhoz, más néven alkalmazásengedélyekhez, hogy az ügyfélalkalmazások saját maguk is beszerezhessék a hozzáférési jogkivonatot. Az alkalmazásengedélyek olyan típusú engedélyek, amelyeket az API-knak közzé kell tenniük, ha engedélyezni szeretnék az ügyfélalkalmazások számára a sikeres hitelesítést, és nem kell bejelentkezniük a felhasználóknak. Alkalmazásengedély közzétételéhez kövesse az alábbi lépéseket:

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

  2. A Kezelés csoportban válassza az Alkalmazásszerepkörök lehetőséget.

  3. Válassza az Alkalmazásszerepkör létrehozása lehetőséget, majd adja meg a következő értékeket, majd kattintson az Alkalmaz gombra a módosítások mentéséhez:

    Tulajdonság Érték
    Megjelenített név ToDoList.Read.All
    Engedélyezett tagtípusok Alkalmazások
    Érték ToDoList.Read.All
    Leírás Minden felhasználó ToDo-listájának olvasásának engedélyezése az alkalmazás számára a "TodoListApi" használatával
  4. Válassza ismét az Alkalmazásszerepkör létrehozása lehetőséget, majd adja meg a következő értékeket a második alkalmazásszerepkörhöz, majd kattintson az Alkalmaz gombra a módosítások mentéséhez:

    Tulajdonság Érték
    Megjelenített név ToDoList.ReadWrite.All
    Engedélyezett tagtípusok Alkalmazások
    Érték ToDoList.ReadWrite.All
    Leírás Az alkalmazás a ToDoListApi használatával elolvashatja és megírhatja minden felhasználó ToDo-listáját

Nem kötelező jogcímek konfigurálása

A nem kötelező jogcímek megadása segíthet a webes API-nak annak megállapításában, hogy egy jogkivonat alkalmazásjogkivonat vagy alkalmazás+ felhasználói jogkivonat-e. Bár az scp és a szerepkör jogcímek kombinációját is használhatja ugyanahhoz a célra, az idtyp jogcím használatával a legegyszerűbben megkülönböztetheti egymástól az alkalmazásjogkivonatot és az alkalmazást és a felhasználói jogkivonatot. Ennek a jogcímnek az értéke például az alkalmazás , ha a jogkivonat csak alkalmazásjogkivonat.

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 webes API klónozása vagy letöltése

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-dotnet-tutorial.git
    
  • Töltse le a .zip fájlt. Bontsa ki egy fájl elérési útjára, ahol a név hossza kevesebb, mint 260 karakter.

Webes MINTA API konfigurálása és futtatása

  1. Nyissa meg 2-Authorization/1-call-own-api-aspnet-core-mvc/ToDoListAPI/appsettings.json a fájlt a kódszerkesztőben.

  2. Keresse meg a helyőrzőt:

    • Enter_the_Application_Id_Here és cserélje le a korábban másolt webes API alkalmazás-(ügyfél-) azonosítójára .
    • Enter_the_Tenant_Id_Here és cserélje le a korábban másolt címtár-(bérlői) azonosítóra .
    • 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 rendelkezik a bérlő nevével, olvassa el a bérlő adatait.

A meghíváshoz az Android-mintaalkalmazás webes API-ját kell üzemeltetnie. Kövesse a rövid útmutatót: ASP.NET webalkalmazás üzembe helyezése a webes API üzembe helyezéséhez.

Minta Android-mobilalkalmazás konfigurálása webes API meghívásához

  1. Nyissa meg /app/src/main/java/com/azuresamples/msalnativeauthandroidkotlinsampleapp/AccessApiFragment.kt a fájlt az Android Studióban.

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

    private const val WEB_API_BASE_URL = "" // Developers should set the respective URL of their web API here
    
  3. Keresse meg az elnevezett scopes tulajdonságot, és állítsa be a Grant API-engedélyekben rögzített hatóköröket az Android-mintaalkalmazásra.

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

Android-mintaalkalmazás futtatása és webes API meghívása

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 csatlakoznia kell egy fizikai eszközhöz.

  3. Válassza a Futtatás gombot. Az alkalmazás megnyílik az e-mail és az egyszeri pin-kód képernyőn.

  4. Az API-hívás teszteléséhez válassza az API fület. A webes API sikeres hívása HTTP-t 200ad vissza, míg a HTTP 403 jogosulatlan hozzáférést jelent.

Következő lépések