Registrace jednostrákové aplikace v Azure Active Directory B2C

Aby vaše aplikace mohly pracovat s Azure Active Directory B2C (Azure AD B2C), musí být zaregistrované v tenantovi, který spravujete. V této příručce se dozvíte, jak zaregistrovat jednostránkovou aplikaci ("SPA") pomocí webu Azure Portal.

Přehled možností ověřování

Mnoho moderních webových aplikací je sestaveno jako jednostráňové aplikace na straně klienta ("SPA"). Vývojáři je píší pomocí JavaScriptu nebo architektury SPA, jako je Angular, Vue a React. Tyto aplikace běží ve webovém prohlížeči a mají jiné vlastnosti ověřování než tradiční webové aplikace na straně serveru.

Azure AD B2C nabízí dvě možnosti, jak povolit jednostránka aplikacím přihlašování uživatelů a získání tokenů pro přístup k back-endovým službám nebo webovým rozhraním API:

Tok autorizačního kódu (s PKCE)

Tok autorizačního kódu OAuth 2.0 (s PKCE) umožňuje aplikaci vyměnit autorizační kód tokenů ID, aby představoval ověřeného uživatele a přístupové tokeny potřebné k volání chráněných rozhraní API. Kromě toho vrací obnovovací tokeny, které poskytují dlouhodobý přístup k prostředkům jménem uživatelů bez nutnosti interakce s těmito uživateli.

Toto je doporučený přístup. Používání tokenů aktualizace s omezenou životností pomáhá vaší aplikaci přizpůsobit se moderním omezením ochrany osobních údajů souborů cookie v prohlížeči, jako je Safari ITP.

K využití tohoto toku může vaše aplikace použít knihovnu ověřování, která ji podporuje, například MSAL.js.

Single-page applications-auth

Implicitní tok udělení

Některé knihovny, jako je MSAL.js 1.x, podporují pouze implicitní tok udělení nebo vaše aplikace se implementuje pro použití implicitního toku. V těchto případech Azure AD B2C podporuje implicitní tok OAuth 2.0. Implicitní tok udělení umožňuje aplikaci získat ID a přístupové tokeny. Na rozdíl od toku autorizačního kódu tok implicitního udělení nevrací obnovovací token.

Single-page applications-implicit

Tento tok ověřování neobsahuje scénáře aplikací, které používají multiplatformní javascriptové architektury, jako jsou Elektron a React-Native. Tyto scénáře vyžadují další možnosti pro interakci s nativními platformami.

Požadavky

  • Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

  • Pokud nemáte tenanta Azure AD B2C, vytvořte ho teď. Můžete použít existujícího tenanta Azure AD B2C.

Registrace aplikace SPA

  1. Přihlaste se k portálu Azure.

  2. Pokud máte přístup k více tenantům, v horní nabídce vyberte ikonu Nastavení a v nabídce Adresáře a předplatná přepněte do svého tenanta Azure AD B2C.

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

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

  5. Zadejte název aplikace. Například spaapp1.

  6. V části Podporované typy účtů vyberte Účty v libovolném zprostředkovateli identity nebo organizačním adresáři (pro ověřování uživatelů s toky uživatelů).

  7. V části Identifikátor URI přesměrování vyberte jednostránkové aplikace (SPA) a zadejte https://jwt.ms do textového pole adresy URL.

    Identifikátor URI přesměrování je koncový bod, do kterého autorizační server (v tomto případě Azure AD B2C) pošle uživatele po dokončení jeho interakce s uživatelem. Koncový bod identifikátoru URI přesměrování také obdrží přístupový token nebo autorizační kód po úspěšné autorizaci. V produkční aplikaci se obvykle jedná o veřejně přístupný koncový bod, ve kterém je vaše aplikace spuštěná, například https://contoso.com/auth-response. Pro účely testování, jako je tato příručka, ji můžete nastavit na https://jwt.mswebovou aplikaci vlastněnou Microsoftem, která zobrazuje dekódovaný obsah tokenu (obsah tokenu nikdy neopustí váš prohlížeč). Během vývoje aplikací můžete přidat koncový bod, ve kterém vaše aplikace naslouchá místně, například http://localhost:5000. Identifikátory URI pro přesměrování můžete v registrovaných aplikacích kdykoli přidávat a upravovat.

    Pro identifikátory URI přesměrování platí následující omezení:

    • Adresa URL odpovědi musí začínat schématem https, pokud nepoužíváte localhost.
    • V adrese URL odpovědi se rozlišují malá a velká písmena. Jeho případ se musí shodovat s případem cesty URL spuštěné aplikace. Pokud vaše aplikace například obsahuje jako součást cesty .../abc/response-oidc, nezadávejte .../ABC/response-oidc v adrese URL odpovědi. Vzhledem k tomu, že webový prohlížeč pracuje s cestami jako s rozlišováním velkých a malých písmen, mohou být soubory cookie přidružené .../abc/response-oidc k souborům cookie vyloučeny, pokud jsou přesměrovány na neodpovídající .../ABC/response-oidc adresu URL.
  8. V části Oprávnění zaškrtněte políčko Udělit správci souhlas s openid a offline_access oprávnění.

  9. Vyberte Zaregistrovat.

Povolení implicitního toku

Pokud používáte MSAL.js 1.3 nebo starší verzi s implicitní tok udělení v aplikaci SPA nebo pokud aplikaci nakonfigurujete https://jwt.ms/ pro testování toku uživatele nebo vlastní zásady, musíte povolit implicitní tok udělení v registraci aplikace:

  1. V nabídce vlevo v části Spravovat vyberte Ověřování.

  2. V části Implicitní udělení a hybridní toky zaškrtněte políčka Přístupové tokeny (používané pro implicitní toky) i tokeny ID (používané pro implicitní a hybridní toky).

  3. Zvolte Uložit.

Pokud vaše aplikace používá MSAL.js 2.0 nebo novější, nepovolujte implicitní udělení toku, protože MSAL.js 2.0+ podporuje tok autorizačního kódu s PKCE.

Migrace z implicitního toku

Pokud máte existující aplikaci, která používá implicitní tok, doporučujeme migrovat na použití toku autorizačního kódu pomocí rozhraní, které ho podporuje, například MSAL.js 2.0+.

Pokud se všechna vaše produkční spa reprezentovaná registrací aplikace začnou používat tok autorizačního kódu, zakažte nastavení implicitního toku udělení následujícím způsobem:

  1. V nabídce vlevo v části Spravovat vyberte Ověřování.
  2. V části Implicitní udělení zrušte zaškrtnutí políček Přístupové tokeny i tokeny ID.
  3. Zvolte Uložit.

Aplikace používající implicitní tok můžou dál fungovat, pokud necháte implicitní tok povolený (zaškrtnutý).

Další kroky

Naučte se vytvářet toky uživatelů v Azure Active Directory B2C.