Rychlý start: Přihlášení uživatelů a volání webového rozhraní API v ukázkové mobilní aplikaci
platí pro: pracovní nájemníci
externí nájemníci (více informací)
Než začnete, použijte výběr Zvolte typ tenanta v horní části stránky k výběru typu tenanta. Microsoft Entra ID poskytuje dvě konfigurace tenantů, pro pracovníky a 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.
Tato příručka ukazuje, jak nakonfigurovat ukázkovou mobilní aplikaci pro přihlášení uživatelů a volat webové rozhraní API ASP.NET Core.
V tomto článku provedete následující úlohy:
- Zaregistrujte aplikaci v Centru pro správu Microsoft Entra.
- Přidejte adresu URL pro přesměrování platformy.
- Povolte toky veřejných klientů.
- Aktualizujte ukázkový soubor konfiguračního kódu pro Android tak, aby použil vaše vlastní externí ID Microsoft Entra pro podrobnosti o tenantovi zákazníka.
- Spusťte a otestujte ukázkovou mobilní aplikaci pro Android.
- Zavolejte chráněné webové rozhraní API
Požadavky
Externí nájemník. Pokud ho ještě nemáte, zaregistrujte se pro bezplatnou zkušební verzi.
Registrace rozhraní API, která zveřejňuje alespoň jeden obor (delegovaná oprávnění) a jednu roli aplikace (oprávnění aplikace), jako je ToDoList.Read. Pokud jste to ještě neudělali, postupujte podle pokynů pro volání rozhraní API v ukázkové mobilní aplikaci pro Android, abyste měli funkční chráněné webové rozhraní API ASP.NET Core. Ujistěte se, že jste dokončili následující kroky:
- Registrace aplikace webového rozhraní API
- Konfigurace oborů rozhraní API
- Konfigurace rolí aplikací
- Konfigurace volitelných nároků
- Klonování nebo stažení ukázkového webového rozhraní API
- Konfigurace a spuštění ukázkového webového rozhraní API
Registrace aplikace
Aby vaše aplikace mohla přihlašovat uživatele pomocí Microsoft Entra, musí být Microsoft Entra External ID obezná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:
Přihlaste se do centra pro správu Microsoft Entra alespoň jako Vývojář aplikací.
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á.
Přejděte na Identity>Applications>App registrations.
Vyberte + Nová registrace.
Na stránce pro registraci aplikace se zobrazí;
- Zadejte smysluplnou aplikaci Název, která se zobrazí uživatelům aplikace, například ciam-client-app .
- V části Podporované typy účtůvyberte Pouze účty v tomto organizačním adresáři.
Vyberte Zaregistrovat.
Po úspěšné registraci se zobrazí podokno 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:
- V části Spravovatvyberte Ověřování.
- Na stránce konfigurace platformy vyberte Přidat platformua 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 sekci Hash podpisu podokna Konfigurace 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 ve vašem terminálu.
- Zadejte hodnotu hash Signature vygenerovanou nástrojem KeyTool.
- Vyberte Konfigurovat.
- Zkopírujte konfigurace MSAL z podokna konfigurace Androidu a uložte ho pro pozdější konfiguraci aplikace.
- Vyberte Hotovo.
Povolit veřejný klientský tok
Pokud chcete aplikaci identifikovat jako veřejného klienta, postupujte takto:
V části Spravovatvyberte Ověřování.
V části Upřesnit nastavenív části 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 tenant externím tenantem, 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 Aktualizovata ověřte, že se v části Stav objeví text Uděleno pro <název vašeho tenanta> jako oprávnění.
Udělení oprávnění webového rozhraní API ukázkové aplikaci
Jakmile zaregistrujete klientskou aplikaci, webové rozhraní API a zpřístupníte API vytvořením oborů, můžete nakonfigurovat oprávnění klienta k rozhraní API pomocí následujících kroků:
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.
V části Nakonfigurovaná oprávněnívyberte Přidat oprávnění.
Vyberte kartu pro rozhraní API, která používá moje organizace.
V seznamu rozhraní API vyberte rozhraní API, například ciam-ToDoList-api.
Vyberte možnost Delegovaná oprávnění.
V seznamu oprávnění vyberte ToDoList.Read, ToDoList.ReadWrite (v případě potřeby použijte vyhledávací pole).
Vyberte tlačítko Přidat oprávnění.
V tomto okamžiku jste správně přiřadili oprávnění. Vzhledem k tomu, že se jedná o tenanta zákazníka, nemohou běžní uživatelé sami odsouhlasit tato oprávnění. Abyste to vyřešili, musíte jako správce udělit souhlas s těmito oprávněními jménem všech uživatelů v tenantovi:
Vyberte Udělit souhlas správce pro <název vašeho tenanta>, poté zvolte Ano.
Vyberte Aktualizovata potom ověřte, že uděleno pro <název vašeho tenanta,> se zobrazí v části Stav pro obě oprávnění.
V seznamu Konfigurovaná oprávnění vyberte ToDoList.Read a oprávnění ToDoList.ReadWrite, po jednom a zkopírujte úplný identifikátor URI oprávnění pro pozdější použití. Úplný identifikátor URI oprávnění vypadá podobně jako
api://{clientId}/{ToDoList.Read}
neboapi://{clientId}/{ToDoList.ReadWrite}
.
Klonování ukázkové mobilní 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é mobilní aplikace pro Android
Pokud chcete povolit ověřování a přístup k prostředkům webového rozhraní API, 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:
-
Enter_the_Application_Id_Here
a nahraďte ho ID aplikace (klient) aplikace, 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 subdoménou adresáře (nájemce). 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.
-
Otevřete soubor /app/src/main/AndroidManifest.xml.
Vyhledejte zástupný symbol:
- Nahraďte
ENTER_YOUR_SIGNATURE_HASH_HERE
a místo ní použijte hodnotu podpisu hash , kterou jste vygenerovali dříve při přidání adresy URL přesměrování platformy.
- Nahraďte
Otevřete soubor /app/src/main/java/com/azuresamples/msaldelegatedandroidkotlinsampleapp/MainActivity.kt.
Vyhledejte vlastnost s názvem
WEB_API_BASE_URL
a nastavte adresu URL na webové rozhraní API.Vyhledejte vlastnost s názvem
scopes
a nastavte obory zaznamenané v . Nastavte oprávnění webového rozhraní API pro ukázkovou aplikaci pro Android.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}"
Nakonfigurovali jste aplikaci a je připravená ke spuštění.
Spuštění ukázkové aplikace a volání webového rozhraní API
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 Získat token interaktivně a požádejte o přístupový token.
Vyberte rozhraní API – proveďte příkaz GET pro volání dříve nastaveného ASP.NET Core webového rozhraní API. Úspěšné volání webového rozhraní API vrátí http 200, zatímco HTTP 403 označuje neoprávněný přístup.