Поделиться через


Подробные сведения о маркере удостоверения Exchange

Важно!

Устаревшие токены Exchange устарели. Начиная с октября 2024 г. устаревшие удостоверения пользователя Exchange и маркеры обратного вызова начнут отключать для клиентов Exchange Online. Временная шкала и сведения см. на странице часто задаваемых вопросов. Это часть инициативы Майкрософт по обеспечению безопасности в будущем, которая предоставляет организациям средства, необходимые для реагирования на текущую среду угроз. Маркеры удостоверений пользователей Exchange по-прежнему будут работать в локальной среде Exchange. Проверка подлинности вложенных приложений — это рекомендуемый подход к токенам в будущем.

Маркер удостоверения пользователя Exchange, возвращаемый методом getUserIdentityTokenAsync, позволяет надстройке включать удостоверение пользователя в вызовы внутренней службы. В этой статье рассматриваются формат и содержимое маркера.

Маркер удостоверения пользователя Exchange — это строка URL-адреса с кодировкой Base64, подписанная сервером Exchange Server, который отправил ее. Маркер не шифруется, а открытый ключ, используемый для проверки подписи, хранится на сервере Exchange Server, который выдал маркер. Маркер состоит из трех частей: заголовка, полезных данных и подписи. В строке маркера части отделяются друг от друга точкой (.), чтобы маркер было проще разделить.

В Exchange для маркера удостоверения используется формат JSON Web Token (JWT). Сведения о маркерах JWT см. в документе RFC 7519 JSON Web Token (JWT).

Заголовок маркера удостоверения

Заголовок содержит сведения о формате и подписи маркера. В приведенном ниже примере показано, как выглядит заголовок маркера.

{
  "typ": "JWT",
  "alg": "RS256",
  "x5t": "Un6V7lYN-rMgaCoFSTO5z707X-4"
}

В приведенной ниже таблице описаны части заголовка маркера.
Утверждение Значение Описание
typ JWT Определяет маркер как JSON Web Token. Все маркеры удостоверений, предоставленные сервером Exchange Server, являются маркерами JWT.
alg RS256 Алгоритм хэширования, используемый для создания подписи. Все маркеры, предоставляемые сервером Exchange Server, используют алгоритм хэширования RSASSA-PKCS1-v1_5 с SHA-256.
x5t Отпечаток сертификата Отпечаток маркера X.509.

Полезные данные маркера удостоверения

Полезные данные содержат утверждения проверки подлинности, которые идентифицируют учетную запись электронной почты, а также сервер Exchange, который отправляет маркер. В следующем примере показано, как выглядит раздел полезных данных.

{ 
  "aud": "https://mailhost.contoso.com/IdentityTest.html", 
  "iss": "00000002-0000-0ff1-ce00-000000000000@mailhost.contoso.com", 
  "nbf": "1331579055", 
  "exp": "1331607855", 
  "appctxsender": "00000002-0000-0ff1-ce00-000000000000@mailhost.context.com",
  "isbrowserhostedapp": "true",
  "appctx": { 
    "msexchuid": "53e925fa-76ba-45e1-be0f-4ef08b59d389@mailhost.contoso.com",
    "version": "ExIdTok.V1",
    "amurl": "https://mailhost.contoso.com:443/autodiscover/metadata/json/1"
  } 
}

В приведенной ниже таблице описаны части полезных данных маркера удостоверения.
Утверждение Описание
aud URL-адрес надстройки, запросившей маркер. Маркер действителен, только если он отправляется из надстройки, работающей в клиентском элементе управления webview. URL-адрес надстройки указан в манифесте. Разметка зависит от типа манифеста.

Только манифест надстройки: Если надстройка использует схему манифестов Office версии 1.1, этот URL-адрес является URL-адресом, указанным в первом <элементе SourceLocation> в типе ItemRead формы или ItemEdit, в зависимости от того, что происходит в элементе FormSettings в манифесте надстройки.

Унифицированный манифест для Microsoft 365: URL-адрес указан в свойстве extensions.audienceClaimUrl.
iss Уникальный идентификатор сервера Exchange, выпустившего маркер. Все маркеры, выпущенные сервером Exchange, будут иметь одинаковый идентификатор.
nbf Дата и время начала срока действия маркера. Значением является количество секунд с 1 января 1970 г.
exp Дата и время окончания срока действия маркера. Значением является количество секунд с 1 января 1970 г.
appctxsender Уникальный идентификатор для сервера Exchange Server, который отправляет контекст приложения.
isbrowserhostedapp Указывает, размещается ли надстройка в браузере.
appctx Контекст приложения для маркера.

Сведения из утверждения appctx содержат уникальный идентификатор учетной записи и расположение открытого ключа, используемого для подписывания маркера. В приведенной ниже таблице перечислены части утверждения appctx.

Свойство контекста приложения Описание
msexchuid Уникальный идентификатор, связанный с учетной записью электронной почты и сервером Exchange Server.
version Номер версии маркера. Для всех маркеров, предоставленных средой Exchange, используется значение ExIdTok.V1.
amurl URL-адрес документа метаданных проверки подлинности, который содержит открытый ключ сертификата X.509, который использовался для подписи маркера.

Дополнительные сведения об использовании документа метаданных проверки подлинности см. в статье Проверка маркера удостоверения Exchange.

Подпись маркера удостоверения

Подпись создается путем хэширования разделов заголовка и полезных данных с использованием алгоритма, указанного в заголовке, а также самозаверяющего сертификата X509, размещенного на сервере в месте, указанном в полезных данных. Веб-служба может проверить эту подпись, чтобы убедиться в происхождении маркера удостоверения именно на том сервере, который должен был отправить такой маркер.

См. также

Пример, в котором анализируется маркер удостоверения пользователя Exchange: Outlook-Add-In-Token-Viewer.