Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете использовать необязательные утверждения для:
- Выберите утверждения для включения в маркеры для приложения.
- Измените поведение определенных утверждений, возвращаемых платформа удостоверений Майкрософт в токенах.
- Добавление и доступ к пользовательским утверждениям для приложения.
Хотя необязательные утверждения поддерживаются как в маркерах формата версии 1.0, так и в токенах формата 2.0, они предоставляют большую часть их значений при переходе от версии 1.0 до версии 2.0. В платформа удостоверений Майкрософт используются меньшие размеры маркеров для обеспечения оптимальной производительности клиентами. В результате несколько утверждений, ранее включенных в маркеры доступа и идентификатора, больше не присутствуют в токенах версии 2.0 и должны быть запрашиваться специально на основе каждого приложения.
| Тип учетной записи | Токены версии 1.0 | Токены версии 2.0 |
|---|---|---|
| Личные учетная запись Майкрософт | Не применимо | Поддержанный |
| учетная запись Microsoft Entra | Поддержанный | Поддержанный |
набор необязательных утверждений версии 1.0 и версии 2.0
Набор необязательных утверждений, доступных по умолчанию для используемых приложений, приведен в следующей таблице. Пользовательские данные в атрибутах расширения и расширениях каталогов можно использовать для добавления необязательных утверждений для приложения. При добавлении утверждений в маркер доступа утверждения применяются к маркерам доступа, запрошенным для приложения (веб-API), а не утверждения, запрашиваемые , приложением. Независимо от того, как клиент обращается к API, правильные данные присутствуют в маркере доступа, который используется для проверки подлинности в API.
Заметка
Большинство этих утверждений можно включить в JWTs для токенов версии 1.0 и версии 2.0, но не токенов SAML, за исключением того, где указано в столбце "Тип токена". Учетные записи потребителей поддерживают подмножество этих утверждений, помеченное в столбце "Тип пользователя". Многие утверждения, перечисленные в списке, не применяются к пользователям-потребителям (у них нет клиента, поэтому tenant_ctry не имеет значения).
В следующей таблице перечислены наборы необязательных утверждений версии 1.0 и версии 2.0.
| Имя | Описание | Тип токена | Тип пользователя | Примечания |
|---|---|---|---|---|
acct |
Состояние учетной записи пользователей в клиенте | JWT, SAML | Если пользователь является членом клиента, значение 0. Если он гость, это значение 1. |
|
acrs |
Идентификаторы контекста проверки подлинности | JWT | Microsoft Entra ID | Указывает идентификаторы контекста проверки подлинности операций, которые может выполнять носитель. Идентификаторы контекста проверки подлинности можно использовать для активации требования к поэтапной проверке подлинности из приложения и служб. Часто используется вместе с утверждением xms_cc. |
auth_time |
Время последнего проверки подлинности пользователя. | JWT | ||
ctry |
Страна или регион пользователя | JWT | Это утверждение возвращается, если оно присутствует, и значение поля является стандартным двухбуквенный код страны или региона, например FR, JP, SZ и т. д. | |
email |
Указанный адрес электронной почты для этого пользователя | JWT, SAML | MSA, Microsoft Entra ID | Это значение включается по умолчанию, если пользователь является гостем в клиенте. Для управляемых пользователей (пользователей внутри клиента) его необходимо запросить с помощью этого необязательного утверждения или только в версии 2.0 с областью OpenID. Это значение не гарантирует правильность и может изменяться с течением времени— никогда не используйте его для авторизации или сохранения данных для пользователя. Дополнительные сведения см. в статье Проверка разрешения пользователя на доступ к этим данным. Если вам требуется адрес электронной почты в приложении, запросите эти данные от пользователя напрямую, используя это утверждение в качестве предложения или предварительной заполнения пользовательского интерфейса. |
fwd |
IP-адрес | JWT | Добавляет исходный адрес запрашивающего клиента (при создании виртуальной сети). | |
groups |
Необязательное форматирование для утверждений группы | JWT, SAML | Утверждение groups используется с параметром GroupMembershipClaims в манифесте приложения , который также должен быть задан. |
|
idtyp |
Тип токена | Маркеры доступа JWT | Специальные: только в маркерах доступа только для приложений | Значение app, если маркер является маркером только для приложений. Это утверждение является наиболее точным способом для API определить, является ли маркер приложения маркером или маркером приложения+пользователя. |
login_hint |
Указание для входа | JWT | MSA, Microsoft Entra ID | Непрозрачное утверждение с указанием надежного входа, закодированное в кодировке Base 64. Не изменяйте это значение. Это утверждение является лучшим значением для login_hint параметра OAuth во всех потоках для получения единого входа. Его можно передать между приложениями для автоматического единого входа. Приложение A может войти в систему пользователя, прочитать утверждение login_hint, а затем отправить утверждение и текущий контекст клиента приложению B в строке запроса или фрагменте, когда пользователь выбирает ссылку, которая принимает их в приложение B. Чтобы избежать проблем с состоянием гонки и надежностью, утверждения login_hint не включать текущий клиент для пользователя и по умолчанию используется домашний клиент пользователя. В гостевом сценарии, где пользователь находится из другого клиента, идентификатор клиента должен быть указан в запросе на вход. и передайте то же самое в приложения, с которыми вы сотрудничаете. Это утверждение предназначено для использования с существующими функциями login_hint пакета SDK, однако они предоставляются. |
tenant_ctry |
Страна или регион клиента ресурсов | JWT | То же, что и ctry, за исключением того, что задано на уровне клиента администратором. Также должно быть стандартным двухбуквенный значение. |
|
tenant_region_scope |
Регион клиента ресурса | JWT | ||
upn |
ОсновноеИмяПользователя | JWT, SAML | Идентификатор пользователя, который можно использовать с параметром username_hint. Не является устойчивым идентификатором пользователя и не следует использовать для авторизации или уникальной информации о пользователе удостоверений (например, в качестве ключа базы данных). Вместо этого используйте идентификатор объекта пользователя (oid) в качестве ключа базы данных. Дополнительные сведения см. в разделе Безопасные приложения и API путем проверки утверждений. Пользователи, войдите с помощью альтернативного идентификатора входа не должны отображаться имя участника-пользователя (UPN). Вместо этого используйте следующие утверждения маркера идентификатора для отображения состояния входа пользователю: preferred_username или unique_name для токенов версии 1 и preferred_username для токенов версии 2. Хотя это утверждение автоматически включается, его можно указать как необязательное утверждение для присоединения других свойств для изменения его поведения в гостевом случае пользователя. Вы должны использовать утверждение login_hint для использования login_hint — удобочитаемые пользователем идентификаторы, такие как имя участника-пользователя, являются ненадежными. |
|
verified_primary_email |
Источник из primaryAuthoritativeEmail пользователя | JWT | ||
verified_secondary_email |
Источник из вторичнойauthoritativeEmail пользователя | JWT | ||
vnet |
Сведения описатель виртуальной сети. | JWT | ||
xms_cc |
Возможности клиента | JWT | Microsoft Entra ID | Указывает, может ли клиентское приложение, полученное маркером, обрабатывать проблемы с утверждениями. Он часто используется вместе с утверждением acrs. Это утверждение обычно используется в сценариях условного доступа и непрерывной оценки доступа. Сервер ресурсов или приложение службы, выданное маркером для управления наличием этого утверждения в маркере. Значение cp1 в маркере доступа является авторитетным способом идентификации того, что клиентское приложение может обрабатывать вызов утверждений. Дополнительные сведения см. в разделе Проблемы утверждений, запросы утверждений и возможности клиента. |
xms_edov |
Логическое значение, указывающее, проверен ли владелец домена электронной почты пользователя. | JWT | Адрес электронной почты считается доменом, который проверяется, принадлежит ли он клиенту, где находится учетная запись пользователя, и администратор клиента выполнил проверку домена. Кроме того, электронная почта должна быть получена из учетная запись Майкрософт (MSA), учетной записи Google или используемой для проверки подлинности с помощью потока одноразового секретного кода (OTP). Учетные записи Facebook и SAML/WS-Fed не имеют проверенные домены. Для возврата этого утверждения в токене требуется наличие утверждения email. |
|
xms_pdl |
Предпочтительное расположение данных | JWT | Для клиентов с несколькими регионами предпочтительное расположение данных — это трехбуквенный код, показывающий географический регион, в котором находится пользователь. Дополнительные сведения см. в документации Microsoft Entra Connect о предпочтительном расположении данных. | |
xms_pl |
Предпочтительный язык пользователя | JWT | Предпочтительный язык пользователя, если задан. Источник из своего домашнего клиента в сценариях гостевого доступа. Форматированные LL-CC ("en-us"). | |
xms_tpl |
Предпочитаемый язык клиента | JWT | Предпочтительный язык клиента ресурса, если задан. Форматированный LL ("en"). | |
ztdid |
Идентификатор развертывания нулевого касания | JWT | Удостоверение устройства, используемое для Windows AutoPilot. |
Предупреждение
Никогда не используйте email или upn значения утверждений для хранения или определения того, должен ли пользователь в маркере доступа иметь доступ к данным. Изменяемые значения утверждений, такие как эти, могут изменяться со временем, что делает их небезопасными и ненадежными для авторизации.
Дополнительный набор утверждений версии 2.0
Эти утверждения всегда включаются в токены версии 1.0, но не включены в маркеры версии 2.0, если не запрошено. Эти утверждения применимы только для JWTs (маркеры идентификатора и маркеры доступа).
| Утверждение JWT | Имя | Описание | Примечания |
|---|---|---|---|
ipaddr |
IP-адрес | IP-адрес клиента, вошедшего в систему. | |
onprem_sid |
Локальный идентификатор безопасности | ||
pwd_exp |
Время истечения срока действия пароля | Количество секунд после истечения срока действия пароля в iat утверждения. Это утверждение включается только в том случае, если срок действия пароля истекает в ближайшее время (в соответствии с "днями уведомления" в политике паролей). |
|
pwd_url |
Изменение URL-адреса пароля | URL-адрес, который пользователь может посетить, чтобы изменить пароль. Это утверждение включается только в том случае, если срок действия пароля истекает в ближайшее время (в соответствии с "днями уведомления" в политике паролей). | |
in_corp |
Внутри корпоративной сети | Сигнализирует о входе клиента из корпоративной сети. Если это не так, утверждение не включено. | На основе параметров доверенных IP-адресов в MFA. |
family_name |
Фамилия | Предоставляет фамилию, фамилию или фамилию пользователя, как определено в объекте пользователя. Например, "family_name":"Miller". |
Поддерживается в MSA и Microsoft Entra ID. Требуется область profile. |
given_name |
Имя | Предоставляет первое или заданное имя пользователя, как указано в объекте пользователя. Например, "given_name": "Frank". |
Поддерживается в MSA и Microsoft Entra ID. Требуется область profile. |
upn |
Имя участника-пользователя | Идентификатор пользователя, который можно использовать с параметром username_hint. Не является устойчивым идентификатором пользователя и не следует использовать для авторизации или уникальной информации о пользователе удостоверений (например, в качестве ключа базы данных). Дополнительные сведения см. в разделе Безопасные приложения и API путем проверки утверждений. Вместо этого используйте идентификатор объекта пользователя (oid) в качестве ключа базы данных. Пользователи, войдите с помощью альтернативного идентификатора входа не должны отображаться имя участника-пользователя (UPN). Вместо этого используйте следующее preferred_username утверждение для отображения состояния входа пользователю. |
Требуется область profile. |
amr |
Справочник по методу проверки подлинности | Определяет способ проверки подлинности субъекта маркера. Значения, которые Microsoft Entra ID выдаются для каждого метода проверки подлинности, см. в параметрах AMR для методов проверки подлинности Microsoft Entra. |
Дополнительный набор утверждений версии 1.0
Некоторые улучшения формата маркера версии 2 доступны для приложений, использующих формат токена версии 1, так как они помогают повысить безопасность и надежность. Эти улучшения применяются только к JWT, а не к токенам SAML.
| Утверждение JWT | Имя | Описание | Примечания |
|---|---|---|---|
aud |
Публика | Всегда присутствует в JWTs, но в маркерах доступа версии 1 его можно создать различными способами : любой URI appID, с конечным косой чертой или без него и идентификатором клиента ресурса. Это случайное преобразование может быть трудно закодировать при выполнении проверки маркеров. Используйте additionalProperties для этого утверждения, чтобы убедиться, что он всегда имеет идентификатор клиента ресурса в маркерах доступа версии 1. |
Только маркеры доступа JWT версии 1 |
preferred_username |
Предпочтительное имя пользователя | Предоставляет предпочтительное утверждение имени пользователя в токенах версии 1. Это утверждение упрощает предоставление приложений подсказок имени пользователя и отображение отображаемых имен, доступных для чтения, независимо от их типа токена. Рекомендуется использовать это необязательное утверждение вместо использования, upn или unique_name. |
Маркеры идентификатора версии 1 и маркеры доступа |
additionalProperties необязательных утверждений
Некоторые необязательные утверждения можно настроить для изменения способа возврата утверждения. Эти additionalProperties в основном используются для миграции локальных приложений с различными ожиданиями данных. Например, include_externally_authenticated_upn_without_hash помогает клиентам, которые не могут обрабатывать хэш-метки (#) в имени участника-участника-участника.
| Имя свойства | имя additionalProperty |
Описание |
|---|---|---|
upn |
Можно использовать для ответов SAML и JWT, а также для токенов версии 1.0 и версии 2.0. | |
include_externally_authenticated_upn |
Включает гостевую имя участника-пользователя, хранящуюся в клиенте ресурса. Например, foo_hometenant.com#EXT#@resourcetenant.com. |
|
include_externally_authenticated_upn_without_hash |
То же, что указано ранее, за исключением того, что хэш-знаки (#) заменяются подчеркиваниями (_), например foo_hometenant.com_EXT_@resourcetenant.com. |
|
aud |
В маркерах доступа версии 1 это утверждение используется для изменения формата утверждения aud. Это утверждение не действует в маркерах версии 2 или маркерах идентификатора версии, где утверждение aud всегда является идентификатором клиента. Используйте эту конфигурацию, чтобы убедиться, что API может упростить проверку аудитории. Как и все необязательные утверждения, влияющие на маркер доступа, ресурс в запросе должен задать это необязательное утверждение, так как ресурсы принадлежат маркеру доступа. |
|
use_guid |
Выводит идентификатор клиента ресурса (API) в формате GUID в качестве утверждения aud всегда вместо того, чтобы зависеть от среды выполнения. Например, если ресурс задает этот флаг и его идентификатор клиента 00001111-aaaa-2222-bbbb-3333cccc4444, любое приложение, которое запрашивает маркер доступа для этого ресурса, получает маркер доступа с aud : 00001111-aaaa-2222-bbbb-3333cccc4444. Без этого набора утверждений API может получить маркеры с утверждением audapi://MyApi.com, api://MyApi.com/, api://myapi.com/AdditionalRegisteredField или любым другим значением, заданным в качестве URI идентификатора приложения для этого API, и идентификатором клиента ресурса. |
|
idtyp |
Это утверждение используется для получения типа маркера (приложения, пользователя, устройства). По умолчанию он создается только для маркеров только для приложений. Как и все необязательные утверждения, влияющие на маркер доступа, ресурс в запросе должен задать это необязательное утверждение, так как ресурсы принадлежат маркеру доступа. | |
include_user_token |
Выдает утверждение idtyp для маркера пользователей. Без этого дополнительного свойства для набора утверждений idtyp API получает утверждение только для маркеров приложений. |
пример additionalProperties
"optionalClaims": {
"idToken": [
{
"name": "upn",
"essential": false,
"additionalProperties": [
"include_externally_authenticated_upn"
]
}
]
}
Этот объект optionalClaims приводит к тому, что маркер идентификатора, возвращенный клиенту, будет включать утверждение upn с другими сведениями о домашнем клиенте и клиенте ресурсов. Утверждение upn изменяется только в маркере, если пользователь является гостем в клиенте (который использует другой поставщик удостоверений для проверки подлинности).
Значения AMR для методов проверки подлинности Microsoft Entra
Утверждение amr (ссылки на метод проверки подлинности) определяет, как пользователь прошел проверку подлинности. Утверждение amr отправляется по умолчанию для приложений Salesforce, поэтому для этих приложений не требуется никаких изменений конфигурации. Для всех других приложений SAML администратор приложения должен добавить необязательное amr утверждение с include_granular_amr дополнительным свойством в регистрацию приложения, чтобы запросить утверждения AMR. И multipleauthnmfa значения создаются только в том случае, если пользователь завершил MFA.
Дополнительные сведения см. в статье об authnmethodreferences .
Сведения об OIDC см. в следующей таблице, в которой перечислены authnmethodsreferences значения, которые Microsoft Entra ID отправляются для каждого метода проверки подлинности:
| Метод проверки подлинности Microsoft Entra | Утверждения маркера OIDC версии 2.0 |
|---|---|
| Password | pwd |
| Push-отправка authenticator |
rsa, , ngcmfamfa |
| Authenticator TOTP |
totp, mfa |
| Аппаратный токен OATH |
hotp, mfa |
| Вход телефона (приложение Authenticator без пароля) |
swk, , rsamfa |
| SMS |
sms, mfa |
| Звонок |
tel, mfa |
| Эл. почта |
emailotp, mfa |
| Ключ безопасности FIDO2 (PRMFA) |
fido, mfa |
| Секретный ключ (привязанное к устройству) (PRMFA) |
fido, mfa |
| Секретный ключ (синхронизировано) |
fido, mfa |
| Windows Hello for Business (PRMFA) |
hwk, , mfangcmfa |
| Проверка подлинности на основе сертификатов (PRMFA) |
hwkили x509, mfarsa |
| Временный пропуск доступа (TAP) |
otp, mfa |
| Windows встроенная проверка подлинности (Kerberos) | wia |
Microsoft Entra ID пересылает amr значения, отправленные внешним поставщиком MFA, а также amr значения методов проверки подлинности, выполняемых в Microsoft Entra ID. Дополнительные сведения см. в разделе "Поддерживаемые утверждения AMR".
См. также
- маркера доступа
- маркера идентификатора
Дальнейшие действия
- Дополнительные сведения о настройке необязательных утверждений
.