Typy aplikací pro Microsoft Identity Platform
Platforma Microsoft Identity Platform podporuje ověřování pro různé moderní architektury aplikací, všechny z nich založené na standardních protokolech OAuth 2.0 nebo OpenID Connect. Tento článek popisuje typy aplikací, které můžete vytvářet pomocí platformy Microsoft Identity Platform bez ohledu na preferovaný jazyk nebo platformu. Informace jsou navržené tak, aby vám pomohly porozumět scénářům vysoké úrovně před zahájením práce s kódem ve scénářích aplikace.
Základy
Každou aplikaci, která používá platformu Microsoft Identity Platform, musíte zaregistrovat v centru pro správu Microsoft Entra Registrace aplikací. Proces registrace aplikace shromažďuje a přiřazuje tyto hodnoty pro vaši aplikaci:
- ID aplikace (klienta), které jednoznačně identifikuje vaši aplikaci
- Identifikátor URI přesměrování, který můžete použít k přesměrování odpovědí zpět do aplikace
- Několik dalších hodnot specifických pro scénáře, jako jsou podporované typy účtů
Podrobnosti najdete v tématu o tom, jak zaregistrovat aplikaci.
Po registraci aplikace aplikace komunikuje s platformou Microsoft Identity Platform odesláním požadavků do koncového bodu. Poskytujeme opensourcové architektury a knihovny, které zpracovávají podrobnosti těchto požadavků. Můžete také implementovat logiku ověřování sami vytvořením požadavků na tyto koncové body:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token
Typy aplikací podporované platformou Microsoft Identity Platform jsou;
- Jednostránková aplikace (SPA)
- Webová aplikace
- Webové rozhraní API
- Mobilní a nativní aplikace
- Služba, démon, skript
Jednostránkové aplikace
Mnoho moderních aplikací má front-end jednostránkové aplikace (SPA) napsaný primárně v JavaScriptu, často s architekturou, jako je Angular, React nebo Vue. Platforma Microsoft Identity Platform podporuje tyto aplikace pomocí protokolu OpenID Connect pro ověřování a jednoho ze dvou typů autorizačních grantů definovaných OAuth 2.0. Při vývoji spA použijte tok autorizačního kódu s ověřovacím klíčem pro výměnu kódu (PKCE ). Tento tok je bezpečnější než implicitní tok, který se už nedoporučuje. Další informace najdete v tématu preferování toku ověřovacího kódu.
Vývojový diagram znázorňuje tok udělení autorizačního kódu OAuth 2.0 (s podrobnostmi o vynechání PKCE), kde aplikace obdrží kód z koncového bodu Microsoft Identity Platform authorize
a uplatní ho pro přístupový token a obnovovací token pomocí webových požadavků mezi weby. U spA je přístupový token platný 1 hodinu a po vypršení platnosti musí požádat o další kód pomocí obnovovacího tokenu. Kromě přístupového tokenu, který představuje přihlášeného uživatele do klientské aplikace, id_token
se obvykle vyžaduje také prostřednictvím stejného toku nebo samostatného požadavku OpenID Connect (zde není uvedený).
Pokud se chcete podívat na tuto akci, projděte si rychlý start: Přihlášení uživatelů do jednostránkové aplikace (SPA) a volání rozhraní Microsoft Graph API pomocí JavaScriptu.
Webové aplikace
U webových aplikací (.NET, PHP, Java, Ruby, Python, Node), ke kterým uživatel přistupuje prostřednictvím prohlížeče, můžete pro přihlášení uživatele použít OpenID Connect . Ve službě OpenID Connect obdrží webová aplikace token ID. Token ID je token zabezpečení, který ověřuje identitu uživatele a poskytuje informace o uživateli ve formě deklarací identity:
// Partial raw ID token
abC1dEf2Ghi3jkL4mNo5Pqr6stU7vWx8Yza9...
// Partial content of a decoded ID token
{
"name": "Casey Jensen",
"email": "casey.jensen@onmicrosoft.com",
"oid": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
...
}
Další podrobnosti o různých typech tokenů používaných na platformě Microsoft Identity Platform jsou k dispozici v referenčních informacích k přístupovém tokenu a id_token referenci .
V aplikacích webového serveru tok ověřování přihlašování provádí tyto základní kroky:
Identitu uživatele můžete zajistit tak, že token ID ověříte pomocí veřejného podpisového klíče, který se přijímá z platformy Microsoft Identity Platform. Nastaví se soubor cookie relace, který lze použít k identifikaci uživatele v následných požadavcích na stránku.
Další informace najdete v vytvoření webové aplikace ASP.NET Core pro přihlášení uživatelů a volání rozhraní Microsoft Graph API.
Kromě jednoduchého přihlášení může aplikace webového serveru potřebovat přístup k jiné webové službě, jako je rozhraní REST API (Representational State Transfer). V tomto případě se aplikace webového serveru zapojí do kombinovaného toku openID Connect a OAuth 2.0 pomocí toku autorizačního kódu OAuth 2.0. Další informace o tomto scénáři najdete v ukázce kódu.
Webová rozhraní API
Platformu Microsoft Identity Platform můžete použít k zabezpečení webových služeb, jako je například webové rozhraní RESTful API vaší aplikace. Webová rozhraní API je možné implementovat v mnoha platformách a jazycích. Je možné je také implementovat pomocí triggerů HTTP ve službě Azure Functions. Místo tokenů ID a souborů cookie relace používá webové rozhraní API přístupový token OAuth 2.0 k zabezpečení dat a ověřování příchozích požadavků.
Volající webového rozhraní API připojí přístupový token v autorizační hlavičce požadavku HTTP, například takto:
GET /api/items HTTP/1.1
Host: www.mywebapi.com
Authorization: Bearer abC1dEf2Ghi3jkL4mNo5Pqr6stU7vWx8Yza9...
Accept: application/json
...
Webové rozhraní API používá přístupový token k ověření identity volajícího rozhraní API a k extrahování informací o volajícím z deklarací identity, které jsou kódovány v přístupovém tokenu. Další podrobnosti o různých typech tokenů používaných na platformě Microsoft Identity Platform jsou k dispozici v referenčních informacích o přístupovém tokenu a odkazu na token ID.
Webové rozhraní API může uživatelům umožnit vyjádřit výslovný souhlas nebo vyjádřit výslovný nesouhlas s konkrétními funkcemi nebo daty tím, že zpřístupňuje oprávnění, označovaná také jako obory. Aby volající aplikace získala oprávnění k oboru, musí uživatel během toku udělit souhlas s oborem. Platforma Microsoft Identity Platform požádá uživatele o oprávnění a potom zaznamenává oprávnění ve všech přístupových tokenech, které webové rozhraní API přijímá. Webové rozhraní API ověřuje přístupové tokeny, které přijímá při každém volání, a provádí kontroly autorizace.
Webové rozhraní API může přijímat přístupové tokeny ze všech typů aplikací, včetně aplikací webového serveru, desktopových a mobilních aplikací, jednostránkových aplikací, démonů na straně serveru a dokonce i jiných webových rozhraní API. Tok vysoké úrovně pro webové rozhraní API vypadá takto:
Informace o zabezpečení webového rozhraní API pomocí přístupových tokenů OAuth2 najdete v ukázkách kódu webového rozhraní API v kurzu chráněného webového rozhraní API.
V mnoha případech musí webová rozhraní API také provádět odchozí požadavky na jiná podřízená webová rozhraní API zabezpečená platformou Microsoft Identity Platform. K tomu můžou webová rozhraní API využívat tok On-Behalf-Of (OBO), který webovému rozhraní API umožňuje vyměnit příchozí přístupový token za jiný přístupový token, který se použije v odchozích požadavcích. Další informace najdete v toku Microsoft Identity Platform a OAuth 2.0 On-Behalf-Of.
Mobilní a nativní aplikace
Aplikace nainstalované zařízením, jako jsou mobilní a desktopové aplikace, často potřebují přístup k back-endovým službám nebo webovým rozhraním API, která ukládají data a provádějí funkce jménem uživatele. Tyto aplikace můžou do back-endových služeb přidávat přihlašování a autorizaci pomocí toku autorizačního kódu OAuth 2.0.
V tomto toku aplikace obdrží autorizační kód z platformy Microsoft Identity Platform, když se uživatel přihlásí. Autorizační kód představuje oprávnění aplikace volat back-endové služby jménem uživatele, který je přihlášený. Aplikace může vyměnit autorizační kód na pozadí pro přístupový token OAuth 2.0 a obnovovací token. Aplikace může použít přístupový token k ověření u webových rozhraní API v požadavcích HTTP a pomocí obnovovacího tokenu získat nové přístupové tokeny, když vyprší platnost starších přístupových tokenů.
Poznámka:
Pokud aplikace používá výchozí systémové webové zobrazení, zkontrolujte informace o funkci Potvrdit moje přihlášení a kód AADSTS50199
chyby v kódech chyb ověřování a autorizace Microsoft Entra.
Server, démony a skripty
Aplikace, které mají dlouhotrvající procesy nebo které pracují bez interakce s uživatelem, potřebují také způsob přístupu k zabezpečeným prostředkům, jako jsou webová rozhraní API. Tyto aplikace se můžou ověřovat a získávat tokeny pomocí identity aplikace místo delegované identity uživatele s tokem přihlašovacích údajů klienta OAuth 2.0. Identitu aplikace můžete prokázat pomocí tajného klíče klienta nebo certifikátu. Další informace najdete v konzolové aplikaci démon .NET pomocí platformy Microsoft Identity Platform.
V tomto toku aplikace komunikuje přímo s /token
koncovým bodem, aby získala přístup:
Pokud chcete vytvořit aplikaci démona, podívejte se do dokumentace k přihlašovacím údajům klienta nebo vyzkoušejte ukázkovou aplikaci .NET.
Viz také
- Informace o OAuth 2.0 a OpenID Connect
- Registrace aplikace