Přihlášení uživatelů a volání rozhraní API v ukázkové mobilní aplikaci pro iOS pomocí nativního ověřování
platí pro: nájemci pracovních sil
externí nájemci (další informace).
V tomto rychlém startu se dozvíte, jak nakonfigurovat ukázkovou aplikaci pro iOS tak, aby volala webové rozhraní API ASP.NET Core.
Požadavky
Registrace aplikace webového rozhraní API
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>Aplikace>Registrace aplikací.
Vyberte + Nová registrace.
Na stránce Zaregistrovat aplikaci, která se zobrazí, zadejte registrační informace vaší aplikace:
V části Název zadejte smysluplný název aplikace, který se zobrazí uživatelům aplikace, například ciam-ToDoList-api.
V části Podporované typy účtůvyberte pouze účty v tomto organizačním adresáři.
Vyberte Zaregistrovat a vytvořte aplikaci.
Po dokončení registrace se zobrazí podokno Přehled aplikace. Poznamenejte ID adresáře (tenanta) a ID aplikace (klient), které se mají použít ve zdrojovém kódu aplikace.
Konfigurace oborů rozhraní API
Rozhraní API musí publikovat alespoň jeden rozsah, také nazývaný jako delegovaná oprávnění, aby klientské aplikace mohly úspěšně získat přístupový token pro uživatele. Pokud chcete rozsah publikovat, postupujte takto:
Na stránce Registrace aplikací vyberte API aplikaci, kterou jste vytvořili (ciam-ToDoList-api), abyste otevřeli stránku jejího Přehledu.
V části Spravovatvyberte Zpřístupnit rozhraní API.
V horní části stránky, vedle identifikátoru URI aplikace, vyberte odkaz Přidat pro vygenerování jedinečného identifikátoru URI pro tuto aplikaci.
Přijměte navrhovaný identifikátor URI ID aplikace, například
api://{clientId}
, a vyberte Uložit. Když vaše webová aplikace požádá o přístupový token pro webové rozhraní API, přidá identifikátor URI jako předponu pro každý obor, který definujete pro rozhraní API.V části Obory definované tímto rozhraním APIvyberte Přidat obor.
Zadejte následující hodnoty, které definují přístup pro čtení k rozhraní API, a poté vyberte Přidat obor, abyste uložili změny:
Vlastnost Hodnota Název oboru ToDoList.Read Kdo může souhlasit pouze pro správce Zobrazované jméno souhlasu správce Číst seznam úkolů uživatele pomocí TodoListApi Popis souhlasu správce Povolit aplikaci ke čtení seznamu úkolů uživatele pomocíTodoListApi. Stát Povoleno Vyberte Znovu přidat obor a zadejte následující hodnoty, které definují obor přístupu pro čtení a zápis do rozhraní API. Vyberte Přidat oblast a uložte vaše změny:
Vlastnost Hodnota Název oboru toDoList.ReadWrite Kdo může souhlasit Pouze správci Zobrazované jméno souhlasu správce Číst a zapisovat seznam úkolů uživatelů pomocí ToDoListApi Popis souhlasu správce Dovolit aplikaci číst a zapisovat úkolovník uživatele pomocí ToDoListApi Stát Povoleno V části Spravovatvyberte Manifest a otevřete editor manifestu API.
Nastavte vlastnost
accessTokenAcceptedVersion
na2
.Vyberte Uložit.
Přečtěte si další informace o principu nejnižšího oprávnění při publikování oprávnění pro webové rozhraní API.
Konfigurace rolí aplikací
Rozhraní API musí publikovat minimálně jednu roli aplikace, také označovanou jako oprávnění aplikace, aby klientské aplikace mohly samy získat přístupový token. Oprávnění aplikace jsou typem oprávnění, která by rozhraní API měla publikovat, aby klientské aplikace mohly úspěšně ověřit samy sebe, aniž by bylo potřeba přihlašovat uživatele. Pokud chcete publikovat oprávnění aplikace, postupujte takto:
Na stránce Registrace aplikací vyberte aplikaci, kterou jste vytvořili (například ciam-ToDoList-api), a otevřete její stránku Přehled.
V části Spravovatvyberte Role aplikace.
Vyberte Vytvořit roli aplikace, zadejte následující hodnoty a poté vyberte Použít k uložení změn:
Vlastnost Hodnota Zobrazovaný název ToDoList.Read.All Povolené typy členů aplikací Hodnota cs-CZ: Seznam.Úkolů.Číst.Vše Popis Povolit aplikaci číst seznam úkolů každého uživatele pomocí 'TodoListApi' Znovu vyberte Vytvořit roli aplikace, zadejte následující hodnoty pro druhou roli aplikace a poté vyberte Použít, abyste uložili změny.
Vlastnost Hodnota Zobrazovaný název ToDoList.ReadWrite.All Povolené typy členů aplikací Hodnota ToDoList.ReadWrite.All Popis Povolit aplikaci čtení a zápis seznamů úkolů každého uživatele pomocí 'ToDoListApi'
Konfigurace volitelných nároků
Můžete přidat idtyp volitelnou deklaraci identity, která webovému rozhraní API pomůže určit, jestli je tokenem aplikace nebo tokenem aplikace + token uživatele. I když můžete použít kombinaci scp a role prohlášení pro stejný účel, použití prohlášení typ ID je nejjednodušší způsob, jak rozlišit mezi tokenem aplikace a tokenem aplikace + uživatele. Například hodnota tohoto nároku je aplikace, když je token určený pouze pro aplikace.
Udělení oprávnění rozhraní API ukázkové aplikaci pro iOS
Jakmile zaregistrujete klientskou aplikaci i webové rozhraní API a vystavili ho vytvořením oborů, můžete nakonfigurovat oprávnění klienta k rozhraní API pomocí následujícího postupu:
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 rozhraní API , kterou 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, spotřebitelští uživatelé sami nemohou vyjádřit souhlas s těmito oprávněními. 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 nájemce>a pak vyberte Ano.
Vyberte Aktualizovata potom ověřte, že se Uděleno pro <název vašeho tenanta> zobrazuje 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í nebo stažení ukázkového webového rozhraní API
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-dotnet-tutorial.git
Stáhnout soubor .zip. Extrahujte ho do cesty k souboru, kde délka názvu je menší než 260 znaků.
Konfigurace a spuštění ukázkového webového rozhraní API
V editoru kódu otevřete soubor
2-Authorization/1-call-own-api-aspnet-core-mvc/ToDoListAPI/appsettings.json
.Vyhledejte zástupný symbol:
-
Enter_the_Application_Id_Here
a nahraďte ho identifikátorem aplikace (klient) API pro webové rozhraní, které jste zkopírovali dříve. -
Enter_the_Tenant_Id_Here
a nahraďte ho identifikátorem Directory (tenant) , které jste si zkopírovali dříve. -
Enter_the_Tenant_Subdomain_Here
a nahraďte ji subdoménou Adresáře (tenanta). Pokud je například primární doména vašeho tenantacontoso.onmicrosoft.com
, použijtecontoso
. Pokud nemáte jméno tenanta, naučte se, jak zjistit podrobnosti o tenantovi.
-
Abyste ho mohli volat, musíte hostovat webové rozhraní API pro ukázkovou aplikaci pro iOS. Postupujte podle rychlého startu: Nasaďte webovou aplikaci ASP.NET pro nasazení webového rozhraní API.
Konfigurace ukázkové mobilní aplikace pro iOS pro volání webového rozhraní API
Ukázka umožňuje nakonfigurovat více URL koncových bodů webového API a sady oborů. V tomto případě nakonfigurujete pouze jeden koncový bod adresy URL webového rozhraní API a jeho přidružené obory.
V Xcode otevřete soubor
/NativeAuthSampleApp/ProtectedAPIViewController.swift
. Pokud používáte macOS, tady je ukázkový soubor kódu ProtectedAPIViewController.swift.Vyhledejte
protectedAPIUrl1
a jako hodnotu zadejte adresu URL webového rozhraní API.let protectedAPIUrl1: String? = nil // Developers should set the respective URL of their web API here. For example let protectedAPIUrl1: String? = "https://api.example.com/v1/resource"
Najděte
protectedAPIScopes1
a nastavte obory, které jsou zaznamenány v , pro udělení oprávnění rozhraní API ukázkové aplikaci pro iOS.let protectedAPIScopes1: [String] = [] // Developers should set the respective scopes of their web API here.For example, let protectedAPIScopes = ["api://{clientId}/{ToDoList.Read}","api://{clientId}/{ToDoList.ReadWrite}"]
Spuštění ukázkové aplikace pro iOS a volání webového rozhraní API
Aplikaci sestavíte a spustíte takto:
- Pokud chcete sestavit a spustit kód, vyberte Spustit v nabídce Product v Xcode. Po úspěšném sestavení spustí Xcode ukázkovou aplikaci v simulátoru.
- Výběrem záložky API otestujte volání API. Úspěšné volání webového rozhraní API vrátí
200
HTTP, zatímco403
HTTP označuje neoprávněný přístup.