Sdílet prostřednictvím


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

Registrace aplikace

Pokud chcete aplikaci zaregistrovat a přidat informace o registraci aplikace do řešení ručně, postupujte takto:

  1. Přihlaste se do centra pro správu Microsoft Entra alespoň jako vývojář aplikací.

  2. Pokud máte přístup k více nájemcům, použijte v horní nabídce ikonu Nastavení a přepněte na nájemce, ve kterém chcete zaregistrovat aplikaci, z nabídky Adresáře a předplatná.

  3. Přejděte na Identita>Aplikace>Registrace aplikací.

  4. Vyberte Nová registrace.

  5. Zadejte název pro vaši aplikaci. Uživatelé vaší aplikace můžou vidět tento název a později ho můžete změnit.

  6. U podporovaných typů účtůvyberte Účty v adresáři jakékoli organizace (jakýkoli adresář Microsoft Entra – víceklientské prostředí) a osobní účty Microsoft (např. Skype, Xbox). Pokud chcete získat informace o různých typech účtů, vyberte možnost Pomozte mi zvolit možnost.

  7. Vyberte Zaregistrovat.

  8. V části Spravovatvyberte Ověřování>Přidat platformu>Android.

  9. 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
  10. V části Hodnota hash podpisu podokna Konfigurace aplikace pro Android vyberte Generování hodnoty hash vývojového 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.
  11. Zadejte hodnotu hash Signature vygenerovanou nástrojem KeyTool.

  12. Vyberte Konfigurovat a uložte konfiguraci MSAL, která se zobrazí v podokně konfigurace Androidu, abyste ji mohli zadat při pozdější konfiguraci aplikace.

  13. Vyberte Hotovo.

Získání ukázkové aplikace

Konfigurace ukázkové aplikace

  1. V panelu projektu Android Studia přejděte na app\src\main\res.

  2. 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.

  3. 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": true,
      "account_mode": "SINGLE",
      "authorities": [
        {
          "type": "AAD",
          "audience": {
            "type": "AzureADandPersonalMicrosoftAccount",
            "tenant_id": "common"
          }
        }
      ]
    }
    

    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 dostupných zařízeních android studia 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.

snímek obrazovky ukázkové aplikace MSAL zobrazující použití jednoho a více účtů

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:

  1. 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.
  2. Po přihlášení vyberte Získat data grafu bezobslužně, pokud chcete volat 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

diagram znázorňující, jak funguje ukázková aplikace vygenerovaná v tomto rychlém startu.

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.grade (Module:app) Tady jsou přidány závislosti knihovny MSAL.

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

Registrace aplikace

Aby vaše aplikace mohla přihlašovat uživatele pomocí Microsoft Entra, musí být Microsoft Entra External ID seznámen s aplikací, kterou vytvoříte. Registrace aplikace vytvoří vztah důvěryhodnosti mezi aplikací a Microsoft Entra. Když zaregistrujete aplikaci, externí ID vygeneruje jedinečný identifikátor označovaný jako ID aplikace (klient), což je hodnota použitá k identifikaci aplikace při vytváření žádostí o ověření.

Následující kroky ukazují, jak zaregistrovat aplikaci v Centru pro správu Microsoft Entra:

  1. Přihlaste se do centra pro správu Microsoft Entra alespoň jako Vývojář aplikací.

  2. Pokud máte přístup k více tenantům, pomocí ikony Nastavení v horní nabídce přepněte do externího tenanta z nabídky Adresáře a předplatná.

  3. Přejděte na Identity>Applications>App registrations.

  4. Vyberte + Nová registrace.

  5. Na stránce Registrace aplikace, která se objeví;

    1. Zadejte smysluplnou aplikaci Název, která se zobrazí uživatelům aplikace, například ciam-client-app .
    2. V části Podporované typy účtůvyberte Účty pouze v tomto organizačním adresáři.
  6. Vyberte Zaregistrovat.

  7. Po úspěšné registraci se zobrazí panel Přehled aplikace. Poznamenejte si ID aplikace (klienta), které se má použít ve zdrojovém kódu aplikace.

Přidejte adresu URL pro přesměrování platformy

Pokud chcete zadat typ aplikace pro registraci aplikace, postupujte takto:

  1. V části Spravovatvyberte Ověřování.
  2. Na stránce konfigurace platformy vyberte Přidat platformu, a pak vyberte možnost Android.
  3. Zadejte název balíčku projektu. Pokud jste si stáhli vzorový kód, tato hodnota je com.azuresamples.msaldelegatedandroidkotlinsampleapp.
  4. 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.
  5. Zadejte hodnotu hash Signature vygenerovanou nástrojem KeyTool.
  6. Vyberte a nakonfigurujte.
  7. Zkopírujte konfigurace MSAL z podokna konfigurace Androidu a uložte ho pro pozdější konfiguraci aplikace.
  8. Vyberte Hotovo.

Povolení veřejného přístupu klienta

Pokud chcete aplikaci identifikovat jako veřejného klienta, postupujte takto:

  1. V části Spravovatvyberte Ověřování.

  2. V rámci Pokročilá nastavení, pro Povolit toky veřejných klientů, vyberte Ano.

  3. Vyberte Uložit a uložte změny.

Po registraci aplikace se přiřadí oprávnění User.Read. Vzhledem k tomu, že je tenant externím tenantem, nemohou vlastní uživatelé zákazníka 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:

  1. 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.

  2. V části Spravovatvyberte oprávnění rozhraní API.

    1. Vyberte Udělit souhlas správce pro <název vašeho tenanta>a pak vyberte Ano.
    2. 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:

  1. V Android Studiu otevřete projekt, který jste naklonovali.

  2. Otevřete soubor /app/src/main/res/raw/auth_config_ciam.json.

  3. 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 tenanta contoso.onmicrosoft.com, použijte contoso. Pokud subdoménu tenanta neznáte, přečtěte si, jak přečíst podrobnosti o tenantovi.
  4. Otevřete soubor /app/src/main/AndroidManifest.xml.

  5. 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.
  6. Otevřete soubor /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt.

  7. 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:

  1. Na panelu nástrojů vyberte aplikaci z nabídky Konfigurace spuštění.

  2. 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.

  3. Vyberte tlačítko Spustit.

  4. Vyberte Požádat interaktivně o token k získání přístupového tokenu.

  5. 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

Další kroky