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.
Primární funkce ID Microsoft Entra pro aplikace je ověřování, proces, ve kterém uživatelé deklarují svou identitu pomocí osobního identifikátoru, jako je uživatelské jméno nebo e-mailová adresa. Je k dispozici doklad o identitě. Důkazem může být heslo, artefakt vícefaktorového ověřování, biometrický nebo bez hesla.
Tento článek popisuje, jak aplikace používají Microsoft Entra ID k ověřování uživatelů a aplikací. Je třetí v řadě článků o tom, jak můžou nezávislí vývojáři softwaru (ISV) vytvářet a optimalizovat své aplikace pro Microsoft Entra ID. V této sérii se můžete dozvědět více o těchto tématech:
- Microsoft Entra ID pro nezávislé vývojáře softwaru popisuje, jak pomocí této cloudové služby správy identit a přístupu umožnit zaměstnancům přístup k prostředkům s vaší aplikací.
- Vytváření aplikací v ekosystému Microsoft Entra ID popisuje, jak používat Centrum pro správu Microsoft Entra nebo rozhraní API (Microsoft Graph Application Programming Interface) k registraci aplikací v tenantovi Microsoft Entra ID.
- Autorizace aplikací, prostředků a úloh popisuje autorizaci, když jednotliví lidé komunikují s aplikací a směrují ji, když rozhraní API fungují pro uživatele. Kromě toho, když aplikace nebo služby fungují nezávisle.
- Přizpůsobení tokenů pomáhá integrovat zabezpečení do aplikací s tokeny ID a přístupovými tokeny z Microsoft Entra ID. Popisuje informace, které můžete získat v tokenech ID Microsoft Entra a jak je můžete přizpůsobit.
Vyžádání tokenů
Aplikace požadují token z ID Microsoft Entra. Jakmile aplikace token obdrží, můžou k identifikaci uživatele použít informace v daném tokenu. Při sestavování na Microsoft Entra ID mohou uživatelé ověřovat mnoho aplikací pomocí jednoho registrovaného účtu Microsoft Entra ID (SSO). Metoda ověřování jednotného přihlašování umožňuje uživatelům přihlásit se k více nezávislým softwarovým systémům pomocí jedné sady přihlašovacích údajů.
Protokoly, které můžou vývojáři použít k vyžádání tokenu z Microsoft Entra ID, používají prohlížeč pro připojení uživatele k webu Microsoft Entra ID. Tento web umožňuje uživateli soukromou konverzaci s ID Microsoft Entra. Aplikace není účastníkem této soukromé konverzace. Aplikace spustí web Microsoft Entra ID, kde uživatel zahájí proces ověřování. Po dokončení procesu ověřování přesměruje ID Microsoft Entra uživatele zpět do aplikace s tokenem nebo bez tokenu.
Je důležité, aby uživatelé nemuseli projít procesem ověřování. Čím častěji to uživatelé musí udělat, tím více se stanou náchylnými k zneužití, jako jsou útoky phishing.
Omezení výzev k přihlášení
Jednotné přihlašování může omezit nebo eliminovat výzvy k přihlášení. Vývojáři hrají zásadní roli při snižování a odstraňování výzev k přihlášení. Všechny aplikace musí sdílet prohlížeč, který přistupuje na web Microsoft Entra ID, kde uživatelé provádějí proces ověřování. Pokud je vaše aplikace jednostránkové aplikace (SPA) nebo webová aplikace založená na prohlížeči, nevyžadují se žádné kroky pro vývojáře. Všechny aplikace v prohlížeči sdílejí prohlížeč. Pro nativní aplikace, které běží na stolních počítačích a mobilních zařízeních, musí vývojáři aktivně omezit nebo eliminovat výzvy k přihlášení.
Nejlepším způsobem, jak omezit nebo eliminovat výzvy k přihlášení, je použití knihoven MSAL (Microsoft Authentication Library) nebo knihovny založené na knihovně MSAL a ověřování zprostředkovatele. Tato metoda minimalizuje výzvy k přihlášení a poskytuje nejrušnější prostředí. Pokud vytváření knihovny MSAL není možné, měla by vaše aplikace použít systémový prohlížeč k minimalizaci výzev k přihlášení.
U aplikací běžících v iOSu nebo Androidu mají poskytovatelé mobilních platforem některé funkce, aby bylo toto prostředí plynulejší. Google obsahuje pokyny pro aplikace pro Android s vlastními kartami pro Chrome. Apple obsahuje pokyny k ověřování uživatele prostřednictvím webové služby v aplikacích pro iOS. Vyhněte se použití vložených webových zobrazení, protože nemusí umožňovat sdílení mezi aplikacemi nebo se systémovým prohlížečem.
Dva protokoly pro ověřování uživatelů jsou SAML (Security Assertion Markup Language) 2.0 a OpenID Connect (OIDC). Microsoft Entra ID plně podporuje aplikace používající oba protokoly, takže vývojáři můžou na základě svých požadavků zvolit jeden z nich.
Tyto odkazy podrobně uvádějí podporu SAML pro Microsoft Entra ID.
- Platforma Microsoft Identity Platform používá protokol SAML je výchozím bodem pro dokumentaci SAML k Microsoft Entra ID SAML pro vývojáře.
- Protokol SAML s jednotným přihlašováním je referenční dokumentace k žádostem o ověřování SAML 2.0 a odpovědím, které podporuje Microsoft Entra ID.
- Metadata federace Microsoft Entra popisují metadata federace a koncové body metadat pro metadata specifická pro tenanta a metadata nezávislá na tenantovi. Pokrývá metadata pro SAML a starší standardy WS-Federation. I když je plně podporovaná, nedoporučujeme ws-Federation pro nové aplikace.
- Referenční dokumentace k deklaracím tokenů SAML 2.0 je dokumentace k tokenům SAML (kontrolní výrazy) microsoft Entra ID SAML.
Podpora SAML pro Microsoft Entra ID v Microsoftu má určitá omezení. Konkrétně nemůžete migrovat aplikace, které vyžadují tyto funkce protokolu: podporu vzoru ACTAs WS-Trust a překlad artefaktů SAML.
I když Microsoft Entra ID plně podporuje SAML pro aplikace založené na protokolu SAML, platforma Microsoft Identity Platform neposkytuje knihovny ani jiné vývojové nástroje pro vývoj aplikací pomocí SAML. Pro vývoj nových aplikací doporučujeme pro ověřování použít OpenID Connect (OIDC).
Microsoft Entra ID plně podporuje OpenID Connect. Microsoft poskytuje knihovny MSAL, Microsoft Identity Web a Azure SDK, které usnadňují vývoj aplikací OIDC. OpenID Connect (OIDC) na platformě Microsoft Identity Platform podrobně popisuje podporu Microsoft Entra ID OIDC. MSAL automaticky podporuje OIDC. MSAL vždy vyžaduje token ID OIDC s každou žádostí o token, včetně žádostí o autorizaci pro aplikaci pro přístup k prostředku.
Životnost tokenu
MSAL ukládá tokeny ID do mezipaměti a přístupové tokeny na základě doby vypršení platnosti přístupového tokenu. Vzhledem k tomu, že Id Microsoft Entra nastavuje životnost tokenů ID a přístupových tokenů, můžete obdržet token ID s vypršenou platností z mezipaměti MSAL s vypršenou platností, zatímco přístupový token je stále v platnosti.
MSAL automaticky neprodlouží tokeny ID. Služba MSAL prodlouží přístupové tokeny na konci životnosti přístupového tokenu, když aplikace požádá o token. V tomto okamžiku služba MSAL požaduje nový token ID. K implementaci OIDC použijte exp
deklaraci identity (vypršení platnosti) v tokenu ID k naplánování požadavku tokenu ID pomocí příznaku ForceRefresh
v MSAL.
Při sestavování na knihovně MSAL nebo knihovny založené na knihovně MSAL není možné ověřit aktuálního uživatele pomocí standardu OpenID Connect. Některé funkce v nativních aplikacích nemusí být možné bez použití knihovny MSAL, jako je například zajištění, že nativní aplikace běží na spravovaném zařízení. Přečtěte si téma Zvýšení odolnosti ověřování a autorizace v klientských aplikacích, které vyvíjíte, a přečtěte si pokyny, když nepracujete na knihovně MSAL.
Microsoft Entra ID implementuje koncový bod UserInfo Informace, které koncový bod vrací, UserInfo
není možné přidávat ani přizpůsobovat. Vzhledem k tomu, že informace v tokenu ID jsou nadmnožinou informací vrácených voláním UserInfo
koncového bodu, doporučujeme místo volání koncového UserInfo
bodu použít token ID.
Ověření uživatelů
Aplikace komunikují s tenanty Microsoft Entra ID pro ověřování uživatelů. K ověření uživatele aplikace směruje prohlížeč na https://login.microsoftonline.com/{tenant}/v2.0
, kde {tenant}
je ID nebo doména tenanta. Doporučujeme však, aby nezávislí výrobci softwaru používali Microsoft Entra ID k vytváření víceklientských aplikací, které můžou podporovat nejširší škálu zákazníků. U víceklientských aplikací nemusí aplikace vědět, od jakého tenanta uživatel pochází, dokud se uživatel neověří, takže není možné použít konkrétní koncový bod tenanta.
Pro povolení víceklientských aplikací poskytuje ID Microsoft Entra dva koncové body OIDC/OAuth 2.0 nezávislé na tenantovi:
-
https://login.microsoftonline.com/common/v2.0
umožňuje uživatelům ověřovat aplikaci, když pochází z libovolného tenanta Microsoft Entra ID nebo z webů, jako jsou outlook.com, skype.com, xbox.com, live.com nebo Hotmail.com. -
https://login.microsoftonline.com/organizations/v2.0
umožňuje uživatelům ověřovat aplikaci, když jsou z libovolného tenanta Microsoft Entra ID.
Tyto koncové body umožňují všem uživatelům z libovolného tenanta Microsoft Entra ID ověřit vaši aplikaci. Pokud chcete povolit přístup k aplikaci jenom uživatelům z konkrétních tenantů, implementujte logiku tak, aby k vaší aplikaci měli přístup jenom uživatelé z těchto tenantů. Normální implementací je filtrovat uživatele na iss
základě deklarace identity (vystavitele) nebo tid
(ID tenanta) v tokenu na seznam povolených tenantů, které spravujete.
Tenanti Microsoft Entra ID podporují uživatele, kteří můžou být běžnými členy tenanta nebo můžou být uživateli typu host tenanta. Ve výchozím nastavení existují omezené možnosti pro uživatele typu host v tenantovi. Například uživatelé typu host nevidí úplný profil ostatních uživatelů v tenantovi. Uživatelé typu host, někdy označovaní jako uživatelé B2B (Business to Business), umožňují různým organizacím spolupracovat s nástroji a službami, které Microsoft Entra ID chrání. Příkladem scénáře je pozvání uživatele mimo vaši organizaci pro přístup k sharepointovém souboru ve vašem tenantovi. Uživatel B2B obvykle používá jako svou userid
e-mailovou adresu . Mohou však použít stejnou adresu jako ve svém domovském userid
tenantovi. Ve výchozím nastavení Microsoft Entra ID podepíše uživatele do svého domácího tenanta, když zadá svůj userid
.
Aby se uživatel přihlásil jako uživatel B2B, musí aplikace používat konkrétní koncový bod tenanta, kde je uživatel hostem. I když je možné, aby uživatel zadal tenanta, ke kterému chce získat přístup, když aplikace používá https://login.microsoftonline.com/organizations/v2.0
koncový bod, uživatelé můžou zjistit, že je obtížné tuto schopnost zjistit.
Další kroky
- Microsoft Entra ID pro nezávislé vývojáře softwaru popisuje, jak pomocí této cloudové služby správy identit a přístupu umožnit zaměstnancům přístup k prostředkům s vaší aplikací.
- Vytváření aplikací v ekosystému Microsoft Entra ID popisuje, jak používat Centrum pro správu Microsoft Entra nebo rozhraní Microsoft Graph API k registraci aplikací v tenantovi Microsoft Entra ID.
- Autorizace aplikací, prostředkůachm funkcím a úlohám se zabývá autorizací, když jednotliví lidé pracují s aplikací a službami nezávisle na sobě.
- Přizpůsobení tokenů pomáhá integrovat zabezpečení do aplikací s tokeny ID a přístupovými tokeny z Microsoft Entra ID. Popisuje informace, které můžete získat v tokenech ID Microsoft Entra a jak je můžete přizpůsobit.