Sdílet prostřednictvím


Konfigurace ověřování v ukázkové aplikaci iOS Swift pomocí Azure AD B2C

Důležité

Od 1. května 2025 už nebude Azure AD B2C k dispozici k nákupu pro nové zákazníky. Další informace najdete v našich nejčastějších dotazech.

Tento článek používá ukázkovou aplikaci iOS Swift k ilustraci přidání ověřování Azure Active Directory B2C (Azure AD B2C) do mobilních aplikací.

Přehled

OpenID Connect (OIDC) je ověřovací protokol založený na OAuth 2.0. Pomocí OIDC můžete bezpečně přihlásit uživatele k aplikaci. Tato ukázka mobilní aplikace používá knihovnu Microsoft Authentication Library (MSAL) s tokem ověřovacího kódu OIDC pro tok PKCE (Code Exchange). MSAL je knihovna poskytovaná Microsoftem, která zjednodušuje přidávání podpory ověřování a autorizace do mobilních aplikací.

Tok přihlášení zahrnuje následující kroky:

  1. Uživatelé aplikaci otevřou a vyberou přihlášení.
  2. Aplikace otevře systémový prohlížeč mobilního zařízení a spustí žádost o ověření do Azure AD B2C.
  3. Uživatelé se zaregistrují nebo přihlásí, resetují heslo nebo se přihlásí pomocí účtu sociální sítě.
  4. Jakmile se uživatelé úspěšně přihlásí, Azure AD B2C vrátí autorizační kód do aplikace.
  5. Aplikace provede následující akce:
    1. Autorizační kód se vymění s tokenem ID, přístupovým tokenem a obnovovacím tokenem.
    2. Načte tvrzení ID tokenu.
    3. Ukládá tokeny do mezipaměti v paměti pro pozdější použití.

Přehled registrace aplikací

Pokud chcete aplikaci povolit přihlášení pomocí Azure AD B2C a volání webového rozhraní API, zaregistrujte dvě aplikace v adresáři Azure AD B2C:

  • Registrace mobilní aplikace umožňuje vaší aplikaci přihlásit se pomocí Azure AD B2C. Během registrace aplikace zadejte identifikátor URI přesměrování. Identifikátor URI přesměrování je koncový bod, na který jsou uživatelé přesměrováni službou Azure AD B2C po ověření pomocí Azure AD B2C. Proces registrace aplikace vygeneruje ID aplikace, označované také jako ID klienta, které jednoznačně identifikuje vaši mobilní aplikaci (například ID aplikace: 1).

  • Registrace webového rozhraní API umožňuje vaší aplikaci volat chráněné webové rozhraní API. Registrace zveřejňuje oprávnění webového rozhraní API (obory). Proces registrace aplikace vygeneruje ID aplikace, které jednoznačně identifikuje vaše webové rozhraní API (například ID aplikace: 2). Udělte vaší mobilní aplikaci (ID aplikace: 1) oprávnění k rozsahům webového rozhraní API (ID aplikace: 2).

Registrace a architektura aplikace jsou znázorněny v následujících diagramech:

Diagram mobilní aplikace s voláními webového rozhraní API, registracemi a tokeny

Volání na webové API

Po dokončení ověřování uživatelé komunikují s aplikací, která vyvolá chráněné webové rozhraní API. Webové rozhraní API používá ověřování prostřednictvím nosného tokenu. Nosný token je přístupový token, který aplikace získala z Azure AD B2C. Aplikace předá token v autorizační hlavičce požadavku HTTPS.

Authorization: Bearer <access token>

Pokud obor přístupového tokenu neodpovídá oborům webového rozhraní API, knihovna ověřování získá nový přístupový token se správnými obory.

Postup odhlášení

Tok odhlášení zahrnuje následující kroky:

  1. Z aplikace se uživatelé odhlásí.
  2. Aplikace vymaže objekty relace a knihovna ověřování vymaže mezipaměť tokenů.
  3. Aplikace přenese uživatele do koncového bodu pro odhlášení z Azure AD B2C, aby ukončila relaci Azure AD B2C.
  4. Uživatelé se přesměrují zpět do aplikace.

Požadavky

Počítač, na kterém běží:

Krok 1: Konfigurace toku uživatele

Když se uživatelé pokusí přihlásit k vaší aplikaci, aplikace prostřednictvím toku uživatele spustí žádost o ověření ke koncovému bodu autorizace. Tok uživatele definuje a řídí uživatelské prostředí. Jakmile uživatelé dokončí tok uživatele, Azure AD B2C vygeneruje token a pak přesměruje uživatele zpět do vaší aplikace.

Pokud jste to ještě neudělali, vytvořte uživatelský tok nebo vlastní pravidlo. Opakujte kroky pro vytvoření tří samostatných toků uživatelů následujícím způsobem:

  • Kombinovaný uživatelský tok přihlášení a registrace, například susi. Tento tok uživatele podporuje také proces zapomenutého hesla.
  • Upravování profilu uživatelského procesu, například edit_profile.
  • Tok resetování hesla uživatele, například reset_password.

Azure AD B2C přidává na začátek B2C_1_ k názvu uživatelského toku. Například susi se stane B2C_1_susi.

Krok 2: Registrace mobilních aplikací

Vytvořte mobilní aplikaci a registraci aplikace webového rozhraní API a zadejte rozsahy webového rozhraní API.

Krok 2.1: Registrace aplikace webového rozhraní API

Pokud chcete vytvořit registraci aplikace webového rozhraní API (ID aplikace: 2), postupujte takto:

  1. Přihlaste se do Azure Portalu.

  2. Ujistěte se, že používáte adresář, který obsahuje vašeho tenanta Azure AD B2C. Na panelu nástrojů portálu vyberte ikonu Adresáře a předplatná .

  3. Na stránce Nastavení portálu | Adresáře + předplatná vyhledejte adresář Azure AD B2C v seznamu Název adresáře a pak vyberte Přepnout.

  4. Na webu Azure Portal vyhledejte a vyberte Azure AD B2C.

  5. Vyberte Registrace aplikacía pak vyberte Nová registrace.

  6. Jako Název zadejte název aplikace (například my-api1). Ponechte výchozí hodnoty pro identifikátor URI přesměrování a podporované typy účtů.

  7. Vyberte Zaregistrovat.

  8. Po dokončení registrace aplikace vyberte Přehled.

  9. Poznamenejte si hodnotu ID aplikace (klienta) pro pozdější použití při konfiguraci webové aplikace.

    Snímek obrazovky, který ukazuje, jak získat ID aplikace webového API.

Krok 2.2: Konfigurace oborů aplikací webového rozhraní API

  1. Výběrem aplikace my-api1, kterou jste vytvořili (ID aplikace: 2), otevřete její stránku Přehled.

  2. V části Spravovat vyberte Zveřejnit rozhraní API.

  3. Vedle URI ID aplikace vyberte odkaz Nastavit. Nahraďte výchozí hodnotu (GUID) jedinečným názvem (například tasks-api) a pak vyberte Uložit.

    Když vaše webová aplikace požádá o přístupový token pro webové rozhraní API, měl by tento identifikátor URI přidat jako předponu pro každý obor, který definujete pro rozhraní API.

  4. V části Obory definované tímto rozhraním API vyberte Přidat obor.

  5. Chcete-li vytvořit obor, který definuje přístup pro čtení k rozhraní API:

    1. Jako název oboru zadejte tasks.read.
    2. Jako zobrazovaný název souhlasu pro správce zadejte přístup ke čtení k API úloh.
    3. Jako popis souhlasu správce zadejte Umožňuje přístup pro čtení k rozhraní API pro úlohy.
  6. Vyberte Přidat rozsah.

  7. Vyberte Přidat obor a pak přidejte obor, který definuje přístup k zápisu do rozhraní API:

    1. Jako název oboru zadejte tasks.write.
    2. Jako zobrazovaný název souhlasu správce zadejte přístup pro zápis k rozhraní API úloh.
    3. Jako popis souhlasu správce zadejte umožňuje zápis do rozhraní API pro úlohy.
  8. Vyberte Přidat rozsah.

Krok 2.3: Registrace mobilní aplikace

Pokud chcete vytvořit registraci mobilní aplikace, postupujte takto:

  1. Přihlaste se do Azure Portalu.
  2. Vyberte Registrace aplikacía pak vyberte Nová registrace.
  3. V části Název zadejte název aplikace (například iOs-app1).
  4. V části Podporované typy účtůvyberte Účty v určitém poskytovateli identity nebo organizačním adresáři (pro ověřování uživatelů s uživatelskými procesy).
  5. V části Identifikátor URI pro přesměrování vyberte veřejný klient nebo nativní (mobilní &desktop) a pak do pole adresa URL zadejte msauth.com.microsoft.identitysample.MSALiOS://auth.
  6. Vyberte Zaregistrovat.
  7. Po dokončení registrace aplikace vyberte Přehled.
  8. Poznamenejte si ID aplikace (klienta) pro pozdější použití při konfiguraci mobilní aplikace. Snímek obrazovky se zvýrazněním ID mobilní aplikace

Krok 2.4: Udělení oprávnění mobilní aplikace pro webové rozhraní API

Pokud chcete aplikaci udělit oprávnění (ID aplikace: 1), postupujte takto:

  1. Vyberte Registrace aplikací a pak vyberte aplikaci, kterou jste vytvořili (ID aplikace: 1).

  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 kartu Moje rozhraní API.

  5. Vyberte rozhraní API (ID aplikace: 2), ke kterému má mít webová aplikace udělený přístup. Zadejte například my-api1.

  6. V části Oprávnění rozbalte úkoly a vyberte obory, které jste definovali dříve (například tasks.read a tasks.write).

  7. Vyberte Přidat oprávnění.

  8. Vyberte Udělit souhlas správce pro <název vašeho tenanta>.

  9. Vyberte Ano.

  10. Vyberte Aktualizovat a potom ověřte, že se pod Status pro oba obory zobrazuje Uděleno pro ....

  11. V seznamu Nakonfigurovaná oprávnění vyberte obor a zkopírujte celý název oboru.

    Snímek obrazovky s podoknem nakonfigurovaných oprávnění zobrazující udělení oprávnění ke čtení

Krok 3: Konfigurace ukázkového webového rozhraní API

Tato ukázka získá přístupový token s relevantními obory, které může mobilní aplikace používat pro webové rozhraní API. Pokud chcete volat webové rozhraní API z kódu, postupujte takto:

  1. Použijte existující webové rozhraní API nebo vytvořte nové. Další informace najdete v tématu Povolení ověřování ve vlastním webovém rozhraní API pomocí Azure AD B2C.
  2. Změňte vzorový kód tak, aby volal webové rozhraní API.
  3. Po konfiguraci webového rozhraní API zkopírujte identifikátor URI koncového bodu webového rozhraní API. V dalších krocích použijete koncový bod webového rozhraní API.

Návod

Pokud nemáte webové rozhraní API, můžete tuto ukázku přesto spustit. V tomto případě aplikace vrátí přístupový token, ale nebude moct volat webové rozhraní API.

Krok 4: Získání ukázky mobilní aplikace pro iOS

  1. Stáhněte si soubor .zip nebo naklonujte ukázkovou webovou aplikaci z úložiště GitHub.

    git clone https://github.com/Azure-Samples/active-directory-b2c-ios-swift-native-msal
    
  2. Pomocí CocoaPods nainstalujte knihovnu MSAL. V okně terminálu přejděte do kořenové složky projektu. Tato složka obsahuje soubor podfile . Spusťte následující příkaz:

    pod install
    
  3. MSALiOS.xcworkspace Otevřete pracovní prostor pomocí Xcode.

Krok 5: Konfigurace ukázkové mobilní aplikace

Otevřete soubor ViewController.swift . Členové ViewController třídy obsahují informace o vašem zprostředkovateli identity Azure AD B2C. Mobilní aplikace tyto informace používá k vytvoření vztahu důvěryhodnosti s Azure AD B2C, přihlášení a odhlášení uživatelů, získání tokenů a jejich ověření.

Aktualizujte následující členy třídy:

Klíč Hodnota
kNázev_tenanta Úplný název tenanta Azure AD B2C (například contoso.onmicrosoft.com).
kNázev_hostitele autority První část názvu klienta Azure AD B2C (například contoso.b2clogin.com).
ID klienta ID mobilní aplikace z kroku 2.3.
Identifikátor kRedirectUri URI pro přesměrování mobilní aplikace z kroku 2.3. msauth.com.microsoft.identitysample.MSALiOS://auth
kRegistračníNeboPřihlašovacíPolitika Tok registrace nebo přihlášení uživatele, nebo vlastní zásady, které jste vytvořili v kroku 1.
Upravit profilovou politiku Proces úpravy profilu nebo vlastní zásady, které jste vytvořili v kroku 1.
kGraphURI (Volitelné) Koncový bod webového rozhraní API, který jste vytvořili v kroku 3 (například https://contoso.azurewebsites.net/hello).
KScopes Obory webového rozhraní API, které jste vytvořili v kroku 2.4.

Krok 6: Spuštění a otestování mobilní aplikace

  1. Sestavte a spusťte projekt pomocí simulátoru připojeného zařízení s iOSem.

  2. Vyberte Přihlásit se a pak se zaregistrujte nebo přihlaste pomocí místního nebo sociálního účtu Azure AD B2C.

    Snímek obrazovky se zvýrazněným způsobem spuštění toku přihlašování

  3. Po úspěšném ověření se na navigačním panelu zobrazí zobrazované jméno.

    Snímek obrazovky se zvýrazněním přístupového tokenu Azure AD B2C a ID uživatele

Další kroky

Naučte se jak: