Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Externí tenanti (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
- Přihlášení uživatelů v ukázkové mobilní aplikaci pro iOS (Swift) pomocí nativního ověřování
- Zaregistrujte novou aplikaci v Centru pro správu Microsoft Entra pro webové rozhraní API nakonfigurované pro účty v libovolném organizačním adresáři a osobních účtech Microsoft. Další podrobnosti najdete v tématu Registrace aplikace . Na stránce Přehled aplikace si poznamenejte následující hodnoty pro pozdější použití:
- ID aplikace (klienta)
- ID adresáře (klienta)
Registrace aplikace webového rozhraní API
Přihlaste se do Centra pro správu Microsoft Entra jako alespoň 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 k Entra ID>registracím aplikací.
Vyberte + Nová registrace.
Na stránce Registrace aplikace , 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 si ID adresáře (tenanta) a ID aplikace (klienta), které se má použít ve zdrojovém kódu aplikace.
Konfigurace oborů rozhraní API
Rozhraní API musí publikovat minimálně jeden obor, označovaný také jako Delegovaná oprávnění, aby klientské aplikace získaly přístupový token pro uživatele. Pokud chcete rozsah publikovat, postupujte takto:
Na stránce Registrace aplikací vyberte aplikaci API, kterou jste vytvořili (ciam-ToDoList-api), a otevřete její stránku Přehled .
V části Spravovat vyberte Zveřejnit rozhraní API.
V horní části stránky vedle identifikátoru URI ID aplikace vyberte odkaz Přidat a vygenerujte jedinečný identifikátor 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 API vyberte Přidat obor.
Zadejte následující hodnoty, které definují přístup pro čtení k rozhraní API, a pak výběrem možnosti Přidat obor uložte změny:
Vlastnost Hodnota Název oboru ToDoList.Read Kdo může souhlasit Pouze správci Zobrazovaný název souhlasu administrátora Čtení seznamu úkolů uživatelů pomocí todoListApi Popis souhlasu správce Umožnit aplikaci číst seznam úkolů uživatele pomocí 'TodoListApi'. Stát Zpřístupněný Znovu vyberte 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 obor pro uložení změn:
Vlastnost Hodnota Název oboru ToDoList.ReadWrite Kdo může souhlasit Pouze správci Zobrazovaný název souhlasu administrátora Číst a zapisovat uživatelské seznamy úkolů pomocí 'ToDoListApi' Popis souhlasu správce Povolit aplikaci čtení a zápis seznamu úkolů uživatele pomocí ToDoListApi Stát Zpřístupněný
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 alespoň jednu roli aplikace, nazývanou také jako oprávnění aplikace, aby klientské aplikace mohly získat přístupový token samy za sebe. 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 Spravovat vyberte Role aplikace.
Vyberte Vytvořit roli aplikace a pak zadejte následující hodnoty a pak vyberte Použít , aby se změny uložily:
Vlastnost Hodnota Zobrazovaný název ToDoList.Read.All Povolené typy členů Aplikace Hodnota ToDoList.Read.All Popis Povolit aplikaci číst seznam úkolů každého uživatele pomocí todoListApi Chcete tuto roli aplikace povolit? Ponechat zaškrtnuté Znovu vyberte Vytvořit roli aplikace a pak zadejte následující hodnoty pro druhou roli aplikace a pak vyberte Použít pro uložení změn:
Vlastnost Hodnota Zobrazovaný název ToDoList.ReadWrite.All Povolené typy členů Aplikace Hodnota ToDoList.ReadWrite.All Popis Povolit aplikaci čtení a zápisu seznamu úkolů každého uživatele pomocí 'ToDoListApi' Chcete tuto roli aplikace povolit? Ponechat zaškrtnuté
Konfigurace volitelných nároků
Můžete přidat volitelnou deklaraci idtyp, která webovému rozhraní API pomůže určit, jestli se jedná o token aplikace nebo token aplikace + uživatele. I když můžete použít kombinaci deklarací scp a rolí pro stejný účel, použití deklarace idtyp je nejjednodušší způsob, jak rozeznat token aplikace od tokenu aplikace a uživatele. Například hodnota této deklarace identity je aplikace, když je token pouze pro aplikaci.
Udělte oprávnění rozhraní API pro ukázkovou aplikaci na 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 její stránku Přehled .
V části Spravovat vyberte oprávnění rozhraní API.
V části Nakonfigurovaná oprávnění vyberte Přidat oprávnění.
Vyberte kartu rozhraní API, která moje organizace používá.
V seznamu rozhraní API vyberte rozhraní API, jako je 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 administrátora pro vašeho <klienta>, a poté vyberte Ano.
Vyberte Aktualizovat a ověřte, že se pro <název> vašeho tenanta zobrazuje v části Stav pro obě oprávnění.
V seznamu Konfigurovaná oprávnění vyberte oprávnění ToDoList.Read a ToDoList.ReadWrite , a pak 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.gitStáhněte soubor .zip. Rozbalte ho do cesty 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_Herea nahraďte ho identifikátorem aplikace (klient) API pro webové rozhraní, které jste zkopírovali dříve. -
Enter_the_Tenant_Id_Herea nahraďte ho identifikátorem Directory (tenant) , které jste si zkopírovali dříve. -
Enter_the_Tenant_Subdomain_Herea 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 název tenanta, zjistěte, jak získat podrobnosti o tenantovi.
-
Potřebujete nasadit webové rozhraní API, aby ho mohla zavolat ukázková aplikace 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
protectedAPIUrl1a 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"Vyhledejte
protectedAPIScopes1a nastavte obory zaznamenané v oprávněních k udělení rozhraní API pro ukázkovou 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 z nabídky Product (Produkt) 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í
200HTTP, zatímco403HTTP označuje neoprávněný přístup.