Подробные сведения о маркере удостоверения 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.
Office Add-ins