Sdílet prostřednictvím


Přihlášení uživatelů a volání chráněného webového rozhraní API v ukázkové aplikaci pro iOS (Swift)

Tato příručka ukazuje, jak nakonfigurovat ukázkovou mobilní aplikaci pro iOS pro přihlášení uživatelů a volat chráněné 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 iOS tak, aby používal vlastní Microsoft Entra Externí ID pro podrobnosti o tenantovi zákazníka.
  • Spusťte a otestujte ukázkovou mobilní aplikaci pro iOS.

Požadavky

  • Xcode.

  • Externí tenant. Pokud ho ještě nemáte, zaregistrujte si 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 iOS, 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:

    • Zaregistrujte aplikaci webového rozhraní API.
    • Nakonfigurujte obory rozhraní API.
    • Nakonfigurujte role aplikací.
    • Konfigurace volitelných deklarací identity
    • Naklonujte nebo stáhněte ukázkové webové rozhraní API.
    • Konfigurace a spuštění ukázkového webového rozhraní API

Registrace aplikace

Pokud chcete aplikaci umožnit přihlášení uživatelů pomocí Microsoft Entra, Microsoft Entra Externí ID musí být informována o aplikaci, 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 (klienta), 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 jako alespoň 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 k aplikacím> identit>Registrace aplikací.

  4. Vyberte + Nová registrace.

  5. Na stránce Zaregistrovat aplikaci, která se zobrazí;

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

  7. 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řidání adresy URL pro přesměrování platformy

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

  1. V části Spravovat vyberte Ověřování.
  2. Na stránce Konfigurace platformy vyberte Přidat platformu a pak vyberte možnost iOS/macOS.
  3. Zadejte ID sady prostředků projektu. Pokud jste si stáhli vzorový kód, tato hodnota je com.microsoft.identitysample.ciam.MSALiOS.
  4. Vyberte Konfigurovat a uložte konfiguraci MSAL, která se zobrazí v podokně konfigurace pro iOS nebo macOS, abyste ji mohli zadat při pozdější konfiguraci aplikace.
  5. Vyberte Hotovo.

Povolení toku veřejného klienta

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

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

  2. V části Upřesnit nastavení v části Povolit toky veřejného klienta vyberte Ano.

  3. Výběrem možnosti Uložit uložte změny.

Jakmile aplikaci zaregistrujete, přiřadí se mu 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 musíte udělit souhlas 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 její stránku Přehled.

  2. V části Spravovat vyberte 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 a ověřte, že se pro <název> vašeho tenanta zobrazuje stav oprávnění.

Udělení oprávnění webového rozhraní API ukázkové aplikaci pro iOS

Jakmile zaregistrujete klientskou aplikaci, webové rozhraní API a rozhraní API vytvoříte tak, že vytvoříte obory, můžete nakonfigurovat oprávnění klienta k rozhraní API pomocí následujícího postupu:

  1. Na stránce Registrace aplikací vyberte aplikaci, kterou jste vytvořili (například ciam-client-app), a otevřete její stránku Přehled.

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

  3. V části Nakonfigurovaná oprávnění vyberte Přidat oprávnění.

  4. Vyberte rozhraní API, která moje organizace používá, kartu.

  5. V seznamu rozhraní API vyberte rozhraní API, jako je ciam-ToDoList-api.

  6. Vyberte možnost Delegovaná oprávnění .

  7. V seznamu oprávnění vyberte ToDoList.Read, ToDoList.ReadWrite (v případě potřeby použijte vyhledávací pole).

  8. Vyberte tlačítko Přidat oprávnění.

  9. V tomto okamžiku jste správně přiřadili oprávnění. Vzhledem k tomu, že se jedná o tenanta zákazníka, nemůžou uživatelé uživatele sami 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:

    1. Vyberte Udělit souhlas správce pro <název> vašeho tenanta a pak vyberte Ano.

    2. Vyberte Aktualizovat a ověřte, že se pro <název> vašeho tenanta zobrazuje v části Stav pro obě oprávnění.

  10. 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} api://{clientId}/{ToDoList.ReadWrite}nebo .

Klonování ukázkové mobilní aplikace pro iOS

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-ios-sample.git
    

Konfigurace ukázkové mobilní aplikace pro iOS

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:

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

  2. Otevřete soubor /MSALiOS/Configuration.swift .

  3. Vyhledejte zástupný symbol:

    • Enter_the_Application_Id_Here a nahraďte ho ID aplikace (klienta), kterou jste zaregistrovali dříve.
    • Enter_the_Redirect_URI_Here a nahraďte ji hodnotou kRedirectUri 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_Protected_API_Full_URL_Here a nahraďte ji adresou URL webového rozhraní API. Enter_the_Protected_API_Full_URL_Here by měly zahrnovat základní adresu URL (nasazenou adresu URL webového rozhraní API) a koncový bod (/api/todolist) pro naše webové rozhraní API ASP.NET.
    • Enter_the_Protected_API_Scopes_Here a nahraďte ho obory zaznamenanými v oprávněních k udělení webového rozhraní API ukázkové aplikaci pro iOS.
    • Enter_the_Tenant_Subdomain_Here a nahraďte ji subdoménou 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 si přečíst podrobnosti o tenantovi.

Nakonfigurovali jste aplikaci a je připravená ke spuštění.

Spuštění ukázkové aplikace pro iOS a volání webového rozhraní API

Aplikaci sestavíte a spustíte takto:

  1. 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.
  2. Výběrem možnosti Získat token interaktivně požádejte o přístupový token.
  3. Vyberte rozhraní API – pomocí příkazu GET volejte dříve nastavené webové rozhraní API ASP.NET Core. Úspěšné volání webového rozhraní API vrátí http 200, zatímco HTTP 403 označuje neoprávněný přístup.