Volitelné referenční informace k deklaracím
Možné případy použití volitelných deklarací identity:
- Vyberte deklarace identity, které chcete zahrnout do tokenů pro vaši aplikaci.
- Změna chování určitých deklarací identity, které platforma Microsoft Identity Platform vrací v tokenech
- Přidání vlastních deklarací identity do vaší aplikace a přístup k nim
I když se volitelné deklarace identity podporují ve formátových tokenech v1.0 i v2.0 a tokenech SAML, poskytují při přesunu z verze 1.0 na v2.0 většinu jejich hodnoty. V platformě Microsoft Identity Platform se k zajištění optimálního výkonu klientů používají menší velikosti tokenů. V důsledku toho se v tokenech v2.0 už v tokenech v2.0 nezobrazuje několik deklarací identity, které byly dříve zahrnuté v tokenech přístupu a ID, a proto je nutné je požádat o konkrétní použití.
Typ účtu | Tokeny v1.0 | Tokeny v2.0 |
---|---|---|
Osobní účet Microsoft | – | Podporováno |
Účet Microsoft Entra | Podporováno | Podporováno |
Volitelná sada deklarací identity v1.0 a v2.0
Sada volitelnýchdch Vlastní data můžete použít v atributech rozšíření a rozšířeních adresáře k přidání volitelných deklarací identity pro vaši aplikaci. Když přidáte deklarace identity do přístupového tokenu, deklarace identity se vztahují na přístupové tokeny požadované pro aplikaci (webové rozhraní API), nikoli deklarace identitypožadované aplikací. Bez ohledu na to, jak klient přistupuje k rozhraní API, se správná data nacházejí v přístupovém tokenu, který se používá k ověření ve vašem rozhraní API.
Poznámka:
Většinu těchto deklarací identity je možné zahrnout do JWT pro tokeny verze 1.0 a v2.0, ale ne tokeny SAML, s výjimkou případů, kdy je uvedeno ve sloupci Typ tokenu. Uživatelské účty podporují podmnožinu těchto deklarací identity označených ve sloupci Typ uživatele. Řada uvedených deklarací identity se nevztahuje na uživatele uživatelů (nemají žádného tenanta, takže tenant_ctry
nemá žádnou hodnotu).
Následující tabulka uvádí volitelnou sadu deklarací identity v1.0 a v2.0.
Název | Popis | Typ tokenu | Typ uživatele | Notes |
---|---|---|---|---|
acct |
Stav účtu uživatelé v tenantovi | JWT, SAML | Pokud je uživatel členem tenanta, hodnota je 0 . Pokud jsou hostem, hodnota je 1 . |
|
acrs |
ID kontextu ověřování | JWT | Microsoft Entra ID | Označuje ID kontextu ověřování operací, které nosný medvěd má nárok na provedení. Id kontextu ověřování se dají použít k aktivaci poptávky po zstupňovaném ověřování v rámci vaší aplikace a služeb. Často se používá spolu s deklarací xms_cc identity. |
auth_time |
Čas posledního ověření uživatele | JWT | ||
ctry |
Země/oblast uživatele | JWT | Tato deklarace identity se vrátí, pokud je k dispozici a hodnota pole je standardní dvoupísmenný kód země/oblasti, například FR, JP, SZ atd. | |
email |
Nahlášená e-mailová adresa pro tohoto uživatele | JWT, SAML | MSA, Microsoft Entra ID | Tato hodnota je ve výchozím nastavení zahrnuta, pokud je uživatel hostem v tenantovi. U spravovaných uživatelů (uživatelů uvnitř tenanta) je nutné ho požádat prostřednictvím této volitelné deklarace identity nebo pouze u verze 2.0 s rozsahem OpenID. Tato hodnota není zaručená, že je správná a v průběhu času je proměnlivá – nikdy ji nepoužívejte k autorizaci ani k ukládání dat pro uživatele. Další informace najdete v tématu Ověření, jestli má uživatel oprávnění k přístupu k datům. Pokud k autorizaci používáte deklaraci identity e-mailu, doporučujeme provést migraci, abyste přešli na bezpečnější deklaraci identity. Pokud v aplikaci požadujete adresovatelnou e-mailovou adresu, požádejte uživatele o tato data přímo a použijte tuto deklaraci identity jako návrh nebo předvyplnění v uživatelském prostředí. |
fwd |
IP adresa | JWT | Přidá původní adresu žádajícího klienta (v rámci virtuální sítě). | |
groups |
Volitelné formátování pro deklarace identity skupin | JWT, SAML | Deklarace groups identity se používá s nastavením GroupMembershipClaims v manifestu aplikace, který musí být také nastaven. |
|
idtyp |
Typ tokenu | Přístupové tokeny JWT | Speciální: pouze v přístupových tokenech jen pro aplikace | Hodnota je app , když je token tokenem jen pro aplikaci. Tato deklarace identity představuje nejpřesnější způsob, jak rozhraní API určit, jestli je tokenem aplikace nebo tokenem aplikace a uživatele. |
login_hint |
Nápověda pro přihlášení | JWT | MSA, Microsoft Entra ID | Neprůhlásná, spolehlivá deklarace nápovědy pro přihlášení, která je zakódovaná na bázi 64. Tuto hodnotu neupravujte. Tato deklarace identity je nejlepší hodnotou pro použití parametru login_hint OAuth ve všech tocích, aby bylo možné získat jednotné přihlašování. Dá se předat mezi aplikacemi, aby jim pomohla bezobslužné jednotné přihlašování – aplikace A se může přihlásit uživatele, přečíst login_hint deklaraci identity a pak odeslat deklaraci identity a aktuální kontext tenanta do aplikace B v řetězci dotazu nebo fragmentu, když uživatel vybere odkaz, který je přenese do aplikace B. Aby nedocházelo k problémům se stavem časování a spolehlivostí, login_hint deklarace identity nezahrnuje aktuálního tenanta uživatele a při použití se jako výchozí hodnota použije domácího tenanta uživatele. Ve scénáři hosta, ve kterém je uživatel z jiného tenanta, musí být v žádosti o přihlášení zadaný identifikátor tenanta. a předejte to stejné aplikacím, se kterými spolupracujete. Tato deklarace identity je určená k použití se stávajícími login_hint funkcemi sady SDK, ale je dostupná. |
sid |
ID relace, které se používá pro odhlášení uživatele pro jednotlivé relace | JWT | Osobní účty a účty Microsoft Entra. | |
tenant_ctry |
Země nebo oblast tenanta prostředku | JWT | Totéž jako ctry s výjimkou nastaveného správcem na úrovni tenanta. Musí být také standardní dvoumísmenná hodnota. |
|
tenant_region_scope |
Oblast tenanta prostředku | JWT | ||
upn |
UserPrincipalName | JWT, SAML | Identifikátor uživatele, který lze použít s parametrem username_hint . Nejedná se o trvalý identifikátor uživatele a neměl by se používat k autorizaci ani k jedinečné identitě informací o uživateli (například jako klíč databáze). Místo toho použijte ID objektu uživatele (oid ) jako klíč databáze. Další informace najdete v tématu Zabezpečení aplikací a rozhraní API ověřováním deklarací identity. Uživatelé, kteří se přihlašují pomocí alternativního přihlašovacího ID , by neměli zobrazovat hlavní název uživatele (UPN). Místo toho použijte následující deklarace identity tokenu ID pro zobrazení stavu přihlášení uživateli: preferred_username nebo unique_name pro tokeny v1 a preferred_username pro tokeny v2. I když se tato deklarace identity automaticky zahrne, můžete ji zadat jako volitelnou deklaraci identity pro připojení dalších vlastností, aby se změnilo jeho chování v případě uživatele typu host. K použití byste měli použít login_hint deklaraci login_hint identity – identifikátory čitelné pro člověka, jako je hlavní název uživatele (UPN), nejsou spolehlivé. |
|
verified_primary_email |
Zdroj z primaryAuthoritativeEmail uživatele | JWT | ||
verified_secondary_email |
Zdroj ze sekundárního ověřování uživatele | JWT | ||
vnet |
Informace o specifikátoru virtuální sítě | JWT | ||
xms_cc |
Možnosti klienta | JWT | Microsoft Entra ID | Určuje, jestli klientská aplikace, která token získala, dokáže řešit problémy s deklaracemi. Často se používá spolu s deklarací identity acrs . Tato deklarace identity se běžně používá ve scénářích podmíněného přístupu a průběžného vyhodnocování přístupu. Server prostředků nebo aplikace služby, které je token vydán pro řízení přítomnosti této deklarace identity v tokenu. Hodnota v přístupovém cp1 tokenu je autoritativní způsob identifikace, že klientská aplikace dokáže zpracovat výzvu deklarací identity. Další informace najdete v tématu Výzvy k deklarace identity, žádosti o deklarace identity a možnosti klienta. |
xms_edov |
Logická hodnota označující, jestli byl ověřený vlastník e-mailové domény uživatele. | JWT | E-mail se považuje za ověřený doménou, pokud patří do tenanta, ve kterém se nachází uživatelský účet, a správce tenanta provedl ověření domény. E-mail musí být také z účtu Microsoft (MSA), účtu Google nebo používaného k ověřování pomocí jednorázového toku hesla (OTP). Účty Facebook a SAML/WS-Fed nemají ověřené domény. Aby se tato deklarace identity vrátila v tokenu, je vyžadována email přítomnost deklarace identity. |
|
xms_pdl |
Upřednostňované umístění dat | JWT | U tenantů Multi-Geo je upřednostňovaným umístěním dat třímísmenný kód zobrazující geografickou oblast, ve které je uživatel. Další informace najdete v dokumentaci k programu Microsoft Entra Připojení o upřednostňovaném umístění dat. | |
xms_pl |
Upřednostňovaný jazyk uživatele | JWT | Upřednostňovaný jazyk uživatele, pokud je nastavený. Zdroj z domovského tenanta ve scénářích přístupu hostů. Formátovaný LL-CC ("en-us"). | |
xms_tpl |
Upřednostňovaný jazyk tenanta | JWT | Upřednostňovaný jazyk tenanta prostředku( pokud je nastavený). Formátovaný LL ("en"). | |
ztdid |
ID nasazení s nulovým dotykem | JWT | Identita zařízení použitá pro Windows AutoPilot . |
Upozorňující
Nikdy nepoužívejte email
nebo upn
deklarujte hodnoty k ukládání nebo určování, jestli má mít uživatel v přístupovém tokenu přístup k datům. Proměnlivé hodnoty deklarací identity, jako jsou tyto, se můžou v průběhu času měnit, takže jsou nezabezpečené a nespolehlivé pro autorizaci.
Volitelná sada deklarací identity specifická pro v2.0
Tyto deklarace identity jsou vždy zahrnuty do tokenů verze 1.0, ale nejsou součástí tokenů verze 2.0, pokud nejsou požadovány. Tyto deklarace identity platí jenom pro JWT (tokeny ID a přístupové tokeny).
Deklarace identity JWT | Název | Popis | Notes |
---|---|---|---|
ipaddr |
IP adresa | IP adresa, ze které se klient přihlásil. | |
onprem_sid |
Místní identifikátor zabezpečení | ||
pwd_exp |
Čas vypršení platnosti hesla | Počet sekund po uplynutí doby v iat deklaraci identity, ve které vyprší platnost hesla. Tato deklarace identity se zahrne jenom v případě, že brzy vyprší platnost hesla (jak je definováno "dny oznámení" v zásadách hesel). |
|
pwd_url |
Změnit adresu URL hesla | Adresa URL, kterou může uživatel navštívit, aby změnil heslo. Tato deklarace identity se zahrne jenom v případě, že brzy vyprší platnost hesla (jak je definováno "dny oznámení" v zásadách hesel). | |
in_corp |
Uvnitř podnikové sítě | Signalizuje, jestli se klient přihlašuje z podnikové sítě. Pokud nejsou, deklarace identity není zahrnutá. | Na základě nastavení důvěryhodných IP adres v MFA. |
family_name |
Příjmení | Poskytuje příjmení, příjmení nebo rodinné jméno uživatele, jak je definováno v objektu uživatele. Například "family_name":"Miller" . |
Podporováno v MSA a Microsoft Entra ID. profile Vyžaduje obor. |
given_name |
Křestní jméno | Poskytuje první nebo "zadané" jméno uživatele, jak je nastaveno na objekt uživatele. Například "given_name": "Frank" . |
Podporováno v MSA a Microsoft Entra ID. profile Vyžaduje obor. |
upn |
Hlavní název uživatele (UPN) | Identifikátor uživatele, který lze použít s parametrem username_hint . Nejedná se o trvalý identifikátor uživatele a neměl by se používat k autorizaci ani k jedinečné identitě informací o uživateli (například jako klíč databáze). Další informace najdete v tématu Zabezpečení aplikací a rozhraní API ověřováním deklarací identity. Místo toho použijte ID objektu uživatele (oid ) jako klíč databáze. Uživatelé, kteří se přihlašují pomocí alternativního přihlašovacího ID , by neměli zobrazovat hlavní název uživatele (UPN). Místo toho použijte následující preferred_username deklaraci identity pro zobrazení stavu přihlášení uživateli. |
profile Vyžaduje obor. |
Volitelná sada deklarací identity specifická pro v1.0
Některá vylepšení formátu tokenu v2 jsou dostupná pro aplikace, které používají formát tokenu v1, protože pomáhají zlepšit zabezpečení a spolehlivost. Tato vylepšení platí jenom pro JWT, nikoli tokeny SAML.
Deklarace identity JWT | Název | Popis | Notes |
---|---|---|---|
aud |
Cílová skupina | Vždy existují v JWT, ale v přístupových tokenech v1 se dají vygenerovat různými způsoby – libovolný identifikátor URI ID aplikace, s lomítkem nebo bez koncového lomítka a ID klienta prostředku. Tato náhodnost může být při ověřování tokenu obtížná vůči kódu. Tato deklarace identity se používá additionalProperties k zajištění, že je vždy nastavené na ID klienta prostředku v přístupových tokenech v1. |
Pouze přístupové tokeny JWT v1 |
preferred_username |
Upřednostňované uživatelské jméno | Poskytuje upřednostňovanou deklaraci identity uživatelského jména v rámci tokenů v1. Tato deklarace identity usnadňuje aplikacím poskytování nápovědy uživatelského jména a zobrazování zobrazovaných názvů člověka bez ohledu na jejich typ tokenu. Doporučujeme použít tuto volitelnou deklaraci identity místo použití nebo upn unique_name . |
Tokeny ID v1 a přístupové tokeny |
additionalProperties
volitelných deklarací identity
Některé volitelné deklarace identity je možné nakonfigurovat tak, aby měnily způsob vrácení deklarace identity. Nejčastěji se additionalProperties
používají k migraci místních aplikací s různými očekáváními dat. Pomáhá například include_externally_authenticated_upn_without_hash
klientům, kteří nemůžou zpracovat značky hash () v hlavním názvu uživatele (#
UPN).
Název vlastnosti | additionalProperty Jméno |
Popis |
---|---|---|
upn |
Lze použít pro odpovědi SAML i JWT a pro tokeny v1.0 a v2.0. | |
include_externally_authenticated_upn |
Zahrnuje hlavní název uživatele (UPN) hosta uložený v tenantovi prostředku. Například foo_hometenant.com#EXT#@resourcetenant.com . |
|
include_externally_authenticated_upn_without_hash |
Stejné jako v předchozím seznamu, s výjimkou toho, že se značky hash (# ) nahradí podtržítky (_ ), například foo_hometenant.com_EXT_@resourcetenant.com . |
|
aud |
V přístupových tokenech v1 se tato deklarace identity používá ke změně formátu aud deklarace identity. Tato deklarace identity nemá žádný vliv na tokeny v2 ani v tokenech ID verze, kde aud deklarace identity je vždy ID klienta. Pomocí této konfigurace se ujistěte, že vaše rozhraní API může snadněji provádět ověřování cílové skupiny. Stejně jako všechny volitelné deklarace identity, které ovlivňují přístupový token, musí prostředek v požadavku nastavit tuto volitelnou deklaraci identity, protože prostředky vlastní přístupový token. |
|
use_guid |
Generuje ID klienta prostředku (API) ve formátu GUID, protože aud deklarace identity vždy není závislá na modulu runtime. Pokud například prostředek nastaví tento příznak a jeho ID klienta je 00001111-aaaa-2222-bbbb-3333cccc4444 , každá aplikace, která požádá o přístupový token pro tento prostředek, obdrží přístupový token s : aud 00001111-aaaa-2222-bbbb-3333cccc4444 . Bez této sady deklarací identity může rozhraní API získat tokeny s aud deklarací identity api://MyApi.com , api://MyApi.com/ api://myapi.com/AdditionalRegisteredField nebo jakoukoli jinou hodnotou nastavenou jako identifikátor URI ID aplikace pro toto rozhraní API a ID klienta prostředku. |
|
idtyp |
Tato deklarace identity se používá k získání typu tokenu (aplikace, uživatel, zařízení). Ve výchozím nastavení se vygeneruje jenom pro tokeny jen pro aplikace. Stejně jako všechny volitelné deklarace identity, které ovlivňují přístupový token, musí prostředek v požadavku nastavit tuto volitelnou deklaraci identity, protože prostředky vlastní přístupový token. | |
include_user_token |
Vygeneruje idtyp deklaraci identity pro token uživatele. Bez této volitelné další vlastnosti pro sadu deklarací identity idtyp získá rozhraní API pouze deklaraci pro tokeny aplikace. |
additionalProperties
Příklad
"optionalClaims": {
"idToken": [
{
"name": "upn",
"essential": false,
"additionalProperties": [
"include_externally_authenticated_upn"
]
}
]
}
Tento optionalClaims
objekt způsobí, že token ID vrácený klientovi zahrne upn
deklaraci identity s informacemi o jiném domovském tenantovi a tenantovi prostředku. Deklarace upn
identity se v tokenu změní pouze v případě, že je uživatel hostem v tenantovi (který k ověřování používá jiný protokol IDP).
Viz také
Další kroky
- Přečtěte si další informace o konfiguraci volitelných deklarací identity.