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.
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.
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
Přihlaste se k portálu Azure.
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.
Na webu Azure Portal vyhledejte a vyberte Azure AD B2C.
Vyberte Registrace aplikací a pak vyberte Nová registrace.
Zadejte název aplikace. Například spaapp1.
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ů).
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 nahttps://jwt.ms
webovou 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říkladhttp://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átelocalhost
. - 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.
- Adresa URL odpovědi musí začínat schématem
V části Oprávnění zaškrtněte políčko Udělit správci souhlas s openid a offline_access oprávnění.
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:
V nabídce vlevo v části Spravovat vyberte Ověřování.
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).
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:
- V nabídce vlevo v části Spravovat vyberte Ověřování.
- V části Implicitní udělení zrušte zaškrtnutí políček Přístupové tokeny i tokeny ID.
- 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.