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
- Natív hitelesítéssel jelentkezzen be felhasználókat a minta Android -mobilalkalmazásba.
Web API-alkalmazás regisztrálása
Jelentkezzen be a Microsoft Entra felügyeleti központba legalább alkalmazásfejlesztőként.
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.
Keresse meg az identitásalkalmazásokat>> Alkalmazásregisztrációk.
Válassza az + Új regisztráció lehetőséget.
A megjelenő Alkalmazás regisztrálása lapon adja meg az alkalmazás regisztrációs adatait:
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.
A Támogatott fióktípusok csoportban válassza a Csak ebben a szervezeti címtárban lévő Fiókok lehetőséget.
Válassza a Regisztráció elemet az alkalmazás létrehozásához.
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:
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.
A Kezelés területen válassza az API-k felfedése lehetőséget.
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.
Fogadja el a javasolt alkalmazásazonosító URI-ját, például
api://{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.Az API által definiált hatókörök alatt válassza a Hatókör hozzáadása lehetőséget.
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 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 A Kezelés területen válassza a Jegyzékfájl lehetőséget az API jegyzékszerkesztőjének megnyitásához.
Állítsa be
accessTokenAcceptedVersion
a tulajdonságot a következőre2
: .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:
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.
A Kezelés csoportban válassza az Alkalmazásszerepkörök lehetőséget.
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 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:
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.
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 ki a szervezet által használt API-kat.
Az API-k listájában válassza ki az API-t, például a ciam-ToDoList-api-t.
Válassza a Delegált engedélyek lehetőséget.
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).
Válassza az Engedélyek hozzáadása gombot.
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:
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.
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.
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
Nyissa meg
2-Authorization/1-call-own-api-aspnet-core-mvc/ToDoListAPI/appsettings.json
a fájlt a kódszerkesztőben.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.com
használja a következőtcontoso
: 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
Nyissa meg
/app/src/main/java/com/azuresamples/msalnativeauthandroidkotlinsampleapp/AccessApiFragment.kt
a fájlt az Android Studióban.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
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:
Az eszköztáron válassza ki az alkalmazást a futtatási konfigurációk menüből.
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.
Válassza a Futtatás gombot. Az alkalmazás megnyílik az e-mail és az egyszeri pin-kód képernyőn.
Az API-hívás teszteléséhez válassza az API fület. A webes API sikeres hívása HTTP-t
200
ad vissza, míg a HTTP403
jogosulatlan hozzáférést jelent.
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: