Rychlý start: Přihlášení uživatelů do ukázkové mobilní aplikace
Než začnete, pomocí výběru Zvolte typ nájemníka v horní části této stránky vyberte typ nájemníka. Microsoft Entra ID poskytuje dvě konfigurace tenantů, pro pracovníky a pro externí. Konfigurace tenanta pracovních sil je určená pro zaměstnance, interní aplikace a další organizační prostředky. Externí tenant je určený pro vaše aplikace určené pro zákazníky.
V tomto rychlém startu stáhnete a spustíte ukázku kódu, která předvádí, jak se aplikace pro Android může přihlásit uživatele a získat přístupový token pro volání rozhraní Microsoft Graph API.
Aplikace musí být reprezentovány objektem aplikace v Microsoft Entra ID, aby platforma Microsoft Identity Platform mohla vaší aplikaci poskytovat tokeny.
Požadavky
- Účet Azure s aktivním předplatným. Pokud ho ještě nemáte, Vytvořte účet zdarma.
- Tento účet Azure musí mít oprávnění ke správě aplikací. Kterákoli z následujících rolí Microsoft Entra zahrnuje potřebná oprávnění:
- Správce aplikace
- Vývojář aplikací
- Správce cloudové aplikace
- Tenant pracovní síly. Můžete použít výchozí adresář nebo nastavit nového nájemníka.
- Zaregistrujte novou aplikaci v centru pro správu Microsoft Entra s následující konfigurací. Další informace najdete v tématu Registrace aplikace.
- Název: identity-client-web-app
- podporované typy účtů: Účty v libovolném adresáři organizace (jakýkoli adresář Microsoft Entra – Víceklient) a osobní účty Microsoft (např. Skype, Xbox)
- Android Studio
- Android 16 a novější
Přidejte URI pro přesměrování
Budete muset přidat URI pro přesměrování do registrace vaší aplikace. Tento identifikátor URI slouží k přesměrování uživatelů do aplikace po přihlášení.
V části Spravovatvyberte Ověřování>Přidat platformu>Android.
Zadejte název balíčku projektu na základě výše staženého ukázkového typu.
- Ukázka Javy –
com.azuresamples.msalandroidapp
- Ukázka Kotlinu –
com.azuresamples.msalandroidkotlinapp
- Ukázka Javy –
Ve části Hash podpisu podokna Konfigurace aplikace pro Android vyberte Generování vývojového hash podpisu. a zkopírujte příkaz KeyTool do příkazového řádku.
- KeyTool.exe se instaluje jako součást sady Java Development Kit (JDK). Musíte také nainstalovat nástroj OpenSSL ke spuštění příkazu KeyTool. Další informace najdete v dokumentaci Androidu o generování klíče.
Zadejte hodnotu hash Signature vygenerovanou nástrojem KeyTool.
Vyberte Konfigurovat a uložte konfiguraci MSAL, která se zobrazí v podokně konfigurace Androidu, abyste ji mohli zadat při pozdější konfiguraci aplikace.
Vyberte Hotovo.
Stažení ukázkové aplikace
- Java: Stáhnout kód.
- Kotlin: Stáhněte kód.
Konfigurace ukázkové aplikace
V panelu projektu Android Studia přejděte na app\src\main\res.
Klikněte pravým tlačítkem myši na res a zvolte Nová>Složka. Jako název nového adresáře zadejte
raw
a vyberte OK.V aplikaci >src>main>res>rawotevřete soubor JSON s názvem
auth_config_single_account.json
a vložte konfiguraci MSAL, kterou jste si uložili dříve.Pod přesměrovací URI vložte:
"account_mode" : "SINGLE",
Konfigurační soubor by měl vypadat podobně jako v tomto příkladu:
{ "client_id": "00001111-aaaa-bbbb-3333-cccc4444", "authorization_user_agent": "WEBVIEW", "redirect_uri": "msauth://com.azuresamples.msalandroidapp/00001111%cccc4444%3D", "broker_redirect_uri_registered": false, "account_mode": "SINGLE", "authorities": [ { "type": "AAD", "audience": { "type": "AzureADandPersonalMicrosoftAccount", "tenant_id": "common" } } ] }
Otevřete soubor /app/src/main/AndroidManifest.xml.
Vyhledejte zástupný symbol:
-
enter_the_signature_hash
a nahraďte ho hashem podpisu, který jste vygenerovali dříve při přidání adresy URL pro přesměrování platformy.
Tento kurz ukazuje, jak nakonfigurovat aplikaci pouze v režimu jednoho účtu; pro více informací viz jeden vs. režim více účtů a konfiguraci vaší aplikace.
-
Spuštění ukázkové aplikace
V rozevíracím seznamu dostupných zařízení v Android Studiu vyberte emulátor nebo fyzické zařízení a spusťte aplikaci.
Ukázková aplikace se spustí na obrazovce režimu jednoho účtu. Výchozí obor, user.read, je ve výchozím nastavení poskytován, který se používá při čtení vlastních dat profilu během volání rozhraní Microsoft Graph API. Ve výchozím nastavení je k dispozici adresa URL pro volání rozhraní Microsoft Graph API. Pokud chcete, můžete obě tyto možnosti změnit.
Pomocí nabídky aplikace můžete změnit režimy jednoho a více účtů.
V režimu jednoho účtu se přihlaste pomocí pracovního nebo domácího účtu:
- Vyberte Interaktivní získání dat grafu a vyzvete uživatele k zadání přihlašovacích údajů. V dolní části obrazovky se zobrazí výstup volání rozhraní Microsoft Graph API.
- Po přihlášení vyberte Získat data grafu bez vyzvání pro volání rozhraní Microsoft Graph API, aniž by se uživateli znovu zobrazila výzva k zadání přihlašovacích údajů. V dolní části obrazovky se zobrazí výstup volání rozhraní Microsoft Graph API.
V režimu více účtů můžete stejný postup zopakovat. Kromě toho můžete odebrat přihlášený účet, který také odebere tokeny uložené v mezipaměti pro tento účet.
Jak ukázka funguje
Kód je uspořádaný do fragmentů, které ukazují, jak napsat jednu a více účtů aplikace MSAL. Soubory kódu jsou uspořádány takto:
Soubor | Demonstruje |
---|---|
MainActivity | Spravuje uživatelské rozhraní. |
MSGraphRequestWrapper | Volá rozhraní Microsoft Graph API pomocí tokenu poskytovaného knihovnou MSAL. |
MultipleAccountModeFragment | Inicializuje aplikaci s více účty, načte uživatelský účet a získá token pro volání rozhraní Microsoft Graph API. |
RežimJednohoÚčtuFragment | Inicializuje aplikaci s jedním účtem, načte uživatelský účet a získá token pro volání rozhraní Microsoft Graph API. |
res/auth_config_multiple_account.json | Konfigurační soubor s více účty |
res/auth_config_single_account.json | Konfigurační soubor pro jeden účet |
Gradle Scripts/build.gradle (Modul:app) | Závislosti knihovny MSAL jsou přidány zde. |
Teď se na tyto soubory podíváme podrobněji a v každém z nich označíme kód specifický pro MSAL.
Další kroky
Přejděte k kurzu pro Android, ve kterém vytvoříte aplikaci pro Android, která získá přístupový token z platformy Microsoft Identity Platform a použije ji k volání rozhraní Microsoft Graph API.
Tento rychlý start vás provede konfigurací ukázkových aplikací pro Android, .NET MAUI Android a iOS/macOS tak, že zaregistrujete aplikace, nastavíte adresy URL pro přesměrování, aktualizujete konfigurace a otestujete aplikaci.
Požadavky
- Účet Azure s aktivním předplatným. Pokud ho ještě nemáte, Vytvořte účet zdarma.
- Tento účet Azure musí mít oprávnění ke správě aplikací. Kterákoli z následujících rolí Microsoft Entra zahrnuje potřebná oprávnění:
- Správce aplikace
- Vývojář aplikací
- Správce cloudové aplikace
- Externí zákazník Pokud ho chcete vytvořit, zvolte některou z následujících metod:
- Pomocí rozšíření Microsoft Entra External ID, nastavte externího tenanta přímo v editoru Visual Studio Code. (Doporučeno)
- V Centru pro správu Microsoft Entra vytvořte nového externího tenanta .
- Zaregistrujte novou aplikaci v centru pro správu Microsoft Entra s následující konfigurací a poznamenejte si její identifikátory ze stránky přehledu aplikace. Další informace najdete v tématu Registrace aplikace.
- Název: identity-client-mobile-app
- podporované typy účtů: Účty v tomto organizačním adresáři (jenom jeden tenant)
Přidejte adresu URL pro přesměrování platformy
Pokud chcete zadat typ aplikace pro registraci aplikace, postupujte takto:
- V části Spravovatvyberte Ověřování.
- Na stránce konfigurace platformy vyberte Přidat platformu, a pak vyberte možnost Android.
- Zadejte název balíčku projektu. Pokud jste si stáhli vzorový kód, tato hodnota je
com.azuresamples.msaldelegatedandroidkotlinsampleapp
. - V části Hash podpisu podokna Konfigurace vaší aplikace pro Android vyberte Generování vývojového hash podpisu. To se změní pro každé vývojové prostředí. Zkopírujte a spusťte příkaz KeyTool pro váš operační systém v Terminálu.
- Zadejte hodnotu hash Signature vygenerovanou nástrojem KeyTool.
- Vyberte a nakonfigurujte.
- Zkopírujte konfigurace MSAL z podokna konfigurace Androidu a uložte ho pro pozdější konfiguraci aplikace.
- Vyberte Hotovo.
Povolení veřejného přístupu klienta
Pokud chcete aplikaci identifikovat jako veřejného klienta, postupujte takto:
V části Spravovatvyberte Ověřování.
V rámci Pokročilá nastavení, pro Povolit toky veřejných klientů, vyberte Ano.
Vyberte Uložit a uložte změny.
Udělení souhlasu správce
Po registraci aplikace se přiřadí oprávnění User.Read. Vzhledem k tomu, že je nájemce externím nájemcem, nemohou uživatelé zákazníka sami s tímto oprávněním souhlasit. Jako správce tenanta musíte souhlasit s tímto oprávněním jménem všech uživatelů v tenantovi:
Na stránce Registrace aplikací vyberte aplikaci, kterou jste vytvořili (například ciam-client-app), a otevřete tak její stránku Přehled.
V části Spravovatvyberte oprávnění rozhraní API.
- Vyberte Udělit souhlas správce pro <název vašeho tenanta>, a pak vyberte Ano.
- Vyberte Aktualizovat, poté ověřte, že Udělena pro <název vašeho tenanta> se zobrazí pod Stavem oprávnění.
Klonování ukázkové aplikace
Pokud chcete získat ukázkovou aplikaci, můžete ji buď naklonovat z GitHubu, nebo si ji stáhnout jako soubor .zip.
Pokud chcete ukázku naklonovat, otevřete příkazový řádek a přejděte do umístění, kam chcete projekt vytvořit, a zadejte následující příkaz:
git clone https://github.com/Azure-Samples/ms-identity-ciam-browser-delegated-android-sample
Konfigurace ukázkové aplikace
Pokud chcete povolit ověřování a přístup k prostředkům Microsoft Graphu, nakonfigurujte ukázku pomocí následujícího postupu:
V Android Studiu otevřete projekt, který jste naklonovali.
Otevřete soubor /app/src/main/res/raw/auth_config_ciam.json.
Vyhledejte zástupný symbol:
- Nahraďte
Enter_the_Application_Id_Here
ID aplikace (klienta) pro aplikaci, kterou jste zaregistrovali dříve. -
Enter_the_Redirect_Uri_Here
a nahraďte ji hodnotou redirect_uri v konfiguračním souboru knihovny MSAL (Microsoft Authentication Library), který jste stáhli dříve při přidání adresy URL pro přesměrování platformy. -
Enter_the_Tenant_Subdomain_Here
a nahraďte ji za subdoménu adresáře (tenanta). Pokud je například primární doména vašeho tenantacontoso.onmicrosoft.com
, použijtecontoso
. Pokud subdoménu tenanta neznáte, přečtěte si, jak přečíst podrobnosti o tenantovi.
- Nahraďte
Otevřete soubor /app/src/main/AndroidManifest.xml.
Vyhledejte zástupný symbol:
-
ENTER_YOUR_SIGNATURE_HASH_HERE
a nahraďte ho hashem podpisu, který jste vygenerovali dříve při přidání adresy URL pro přesměrování platformy.
-
Otevřete soubor /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt.
Vyhledejte vlastnost s názvem
scopes
, nastavte obory zaznamenané v a udělte souhlas správce. Pokud jste nezaznamenali žádné obory, můžete tento seznam oborů ponechat prázdný.private const val scopes = "" // Developers should set the respective scopes of their Microsoft Graph resources here. For example, private const val scopes = "api://{clientId}/{ToDoList.Read} api://{clientId}/{ToDoList.ReadWrite}"
Nakonfigurovali jste aplikaci a je připravená ke spuštění.
Spuštění a otestování ukázkové aplikace
Aplikaci sestavíte a spustíte takto:
Na panelu nástrojů vyberte aplikaci z nabídky Konfigurace spuštění.
V nabídce cílového zařízení vyberte zařízení, na které chcete aplikaci spustit.
Pokud nemáte nakonfigurovaná žádná zařízení, musíte buď vytvořit virtuální zařízení s Androidem, abyste mohli použít Android Emulator, nebo připojit fyzické zařízení s Androidem.
Vyberte tlačítko Spustit.
Vyberte Požádat interaktivně o token k získání přístupového tokenu.
Pokud vyberete rozhraní API – provedení příkazu GET pro volání chráněného webového rozhraní API ASP.NET Core, zobrazí se chyba.
Další informace o volání chráněného webového rozhraní API najdete v našich následujících krocích