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.
Výstraha
Tento obsah je určený pro starší koncový bod Azure AD verze 1.0. Pro nové projekty použijte platformu Microsoft Identity Platform.
Jednostránkové aplikace (SPA) jsou obvykle strukturované jako prezentační vrstva JavaScriptu (front-end), která běží v prohlížeči, a back-end webového rozhraní API, který běží na serveru a implementuje obchodní logiku aplikace. Další informace o implicitní autorizaci a pomoc s rozhodováním, jestli je pro váš scénář aplikace nejvhodnější, najdete v tématu Vysvětlení toku implicitního udělení OAuth2 ve službě Azure Active Directory.
Když se uživatel přihlásí do systému, JavaScriptový front-end použije knihovnu Active Directory Authentication Library pro JavaScript (ADAL.JS) a implicitní autorizační grant k získání tokenu ID (id_token) z Azure AD. Token se uloží do mezipaměti a klient ho připojí k požadavku jako nosný token při volání back-endu webového rozhraní API, který je zabezpečený pomocí middlewaru OWIN.
Schéma
Tok protokolu
- Uživatel přejde do webové aplikace.
- Aplikace vrátí do prohlížeče front-end JavaScript (prezentační vrstvu).
- Uživatel zahájí přihlášení, například kliknutím na přihlašovací odkaz. Prohlížeč odešle na koncový bod autorizace Azure AD požadavek GET, který požádá o ID token. Tento požadavek zahrnuje ID aplikace a adresu URL odpovědi v parametrech dotazu.
- Azure AD ověří adresu URL odpovědi na zaregistrovanou adresu URL odpovědi nakonfigurovanou na webu Azure Portal.
- Uživatel se přihlásí na přihlašovací stránce.
- Pokud je ověřování úspěšné, Azure AD vytvoří token ID a vrátí ho jako fragment adresy URL (#) na adresu URL odpovědi aplikace. V produkční aplikaci by tato adresa URL odpovědi měla být HTTPS. Vrácený token obsahuje deklarace identity o uživateli a Službě Azure AD, které aplikace vyžaduje k ověření tokenu.
- Kód klienta JavaScriptu spuštěný v prohlížeči extrahuje token z odpovědi, aby zabezpečil volání do serverové části webového API aplikace.
- Prohlížeč volá webové rozhraní API v zázemí aplikace s ID tokenem v autorizační hlavičce. Ověřovací služba Azure AD vydá token ID, který se dá použít jako nosný token, pokud je prostředek stejný jako ID klienta (v tomto případě platí, protože webové rozhraní API je vlastní back-end aplikace).
Ukázky kódu
Podívejte se na ukázky kódu pro scénáře jednostrákové aplikace. Nezapomeňte se pravidelně kontrolovat, protože se často přidávají nové vzorky.
Registrace aplikace
- Jeden tenant – Pokud vytváříte aplikaci jenom pro vaši organizaci, musí být zaregistrovaná v adresáři vaší společnosti pomocí webu Azure Portal.
- Víceklientský – Pokud vytváříte aplikaci, kterou můžou používat uživatelé mimo vaši organizaci, musí být zaregistrovaná v adresáři vaší společnosti, ale musí být také zaregistrovaná v adresáři každé organizace, který bude aplikaci používat. Pokud chcete aplikaci zpřístupnit v adresáři, můžete zahrnout proces registrace pro vaše zákazníky, který jim umožní souhlas s vaší aplikací. Když se zaregistrují do vaší aplikace, zobrazí se jim dialogové okno s oprávněními, která aplikace vyžaduje, a potom možnost souhlasu. V závislosti na požadovaných oprávněních může být správce v jiné organizaci vyžadován k udělení souhlasu. Když uživatel nebo správce souhlasí, aplikace se zaregistruje ve svém adresáři.
Po registraci musí být aplikace nakonfigurovaná tak, aby používala implicitní udělovací protokol OAuth 2.0. Ve výchozím nastavení je tento protokol pro aplikace zakázaný. Pokud chcete pro vaši aplikaci povolit implicitní grantový protokol OAuth2, upravte manifest aplikace z webu Azure Portal a nastavte hodnotu oauth2AllowImplicitFlow na hodnotu true. Další informace najdete v manifestu aplikace.
Vypršení platnosti tokenu
Použití ADAL.js pomáhá s:
- Aktualizace tokenu s vypršenou platností
- Vyžádání přístupového tokenu pro volání prostředku webového rozhraní API
Po úspěšném ověření Azure AD zapíše soubor cookie do prohlížeče uživatele, aby se vytvořila relace. Všimněte si, že relace existuje mezi uživatelem a Službou Azure AD (ne mezi uživatelem a webovou aplikací). Když vyprší platnost tokenu, ADAL.js použije tuto relaci k tichému získání dalšího tokenu. ADAL.js používá skrytý prvek iFrame k odesílání a příjmu požadavku pomocí implicitního protokolu udělení OAuth. ADAL.js může také použít stejný mechanismus k tichému získání přístupových tokenů pro jiné prostředky webového rozhraní API, které aplikace volá, pokud tyto prostředky podporují sdílení prostředků mezi zdroji (CORS), jsou registrovány v adresáři uživatele a veškeré požadované souhlasy poskytl uživatel během přihlašování.
Další kroky
- Další informace o dalších typech aplikacích a scénářích
- Seznamte se se základy ověřování Azure AD