Compartilhar via


Dentro do token de identidade do Exchange

Importante

Os tokens de identidade de utilizador e tokens de chamada de retorno legados do Exchange serão desativados para todos os inquilinos do Exchange Online em outubro de 2024, como parte da Iniciativa Secure Future da Microsoft, que dá às organizações as ferramentas necessárias para responder ao atual cenário de ameaças. Os tokens de identidade de utilizador do Exchange continuarão a funcionar para o Exchange no local. A autenticação de aplicações aninhadas é a abordagem recomendada para tokens em curso. Para obter mais informações, veja a nossa publicação de blogue sobre a autenticação de aplicações aninhadas e os tokens do Exchange legados.

O token de identidade do usuário do Exchange retornado pelo método getUserIdentityTokenAsync oferece uma maneira do código do suplemento incluir a identidade do usuário com chamadas para o serviço de back-end. Este artigo discutirá o formato e o conteúdo do token.

Um token de identidade do usuário do Exchange é uma cadeia de caracteres codificada como URL em Base64 assinada pelo Exchange Server que a enviou. O token não é criptografado, e a chave pública que você usa para validar a assinatura é armazenada no Exchange Server que emitiu o token. O token tem três partes: um cabeçalho, uma carga e uma assinatura. Na cadeia de caracteres do token, as partes são separadas por um caractere de ponto (.) para facilitar a divisão do token para você

O Exchange usa um formato JWT (Token Web JSON) como token de identidade. Para saber mais sobre tokens JWT, confira RFC 7519 Token Web JSON (JWT).

Cabeçalho de token de identidade

O cabeçalho fornece informações sobre o formato e informações de assinatura do token. O exemplo a seguir mostra a aparência do cabeçalho do token.

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

A tabela a seguir descreve as partes do cabeçalho do token.
Declaração Valor Descrição
typ JWT Identifica o token como um Token Web JSON. Todos os tokens de identidade fornecidos pelo Exchange Server são tokens JWT.
alg RS256 O algoritmo de hash que é usado para criar a assinatura. Todos os tokens fornecidos pelo Exchange Server usam o algoritmo de hash RSASSA-PKCS1-v1_5 com SHA-256.
x5t Impressão digital de certificado A impressão digital X. 509 do token.

Carga de token de identidade

A carga contém as declarações de autenticação que identificam a conta de email e identificam o Exchange Server que enviou o token. O exemplo a seguir mostra a aparência de seção de carga.

{ 
  "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"
  } 
}

A tabela a seguir lista as partes da carga do token de identidade.
Declaração Descrição
aud A URL do suplemento que solicitou o token. Um token só é válido se for enviado a partir do suplemento que está em execução no controlo webview do cliente. O URL do suplemento é especificado no manifesto. A marcação depende do tipo de manifesto.

Manifesto XML: Se o suplemento utilizar o esquema de manifestos de Suplementos do Office v1.1, este URL é o URL especificado no primeiro <elemento SourceLocation> , no tipo ItemRead de formulário ou ItemEdit, o que ocorrer primeiro como parte do elemento FormSettings no manifesto do suplemento.

Manifesto unificado para o Microsoft 365: O URL é especificado na propriedade "extensions.audienceClaimUrl".
iss Um identificador exclusivo para o Exchange Server que emitiu o token. Todos os tokens emitidos por esse Exchange Server terão o mesmo identificador.
nbf A data e a hora do início da validade do token. O valor é o número de segundos desde 1º de janeiro de 1970.
exp A data e a hora de validade do token. O valor é o número de segundos desde 1º de janeiro de 1970.
appctxsender Um identificador exclusivo para o Exchange Server que enviou o contexto do aplicativo.
isbrowserhostedapp Indica se o suplemento está hospedado em um navegador.
appctx O contexto do aplicativo para o token.

As informações na declaração appctx fornecem o identificador exclusivo da conta e a localização da chave pública usada para assinar o token. A tabela a seguir lista as partes da declaração appctx.

Propriedade de contexto Application Descrição
msexchuid Um identificador exclusivo associado à conta de email e ao Exchange Server.
version O número da versão do token. Para todos os tokens fornecidos pelo Exchange, o valor é ExIdTok.V1.
amurl A URL do documento de metadados de autenticação que contém a chave pública do certificado x. 509 usado para assinar o token.

Para saber mais sobre como usar o documento de metadados de autenticação, confira Validar um token de identidade do Exchange.

Assinatura de token de identidade

A assinatura é criada pelo hash das seções de cabeçalho e carga com o algoritmo especificado no cabeçalho e usando o certificado X509 autoassinado localizado no servidor no local especificado na carga. Seu serviço Web pode validar essa assinatura para ajudar a garantir que o token de identidade é proveniente do servidor esperado.

Confira também

Para obter um exemplo que analisa o token de identidade do usuário do Exchange, confira Outlook-Add-In-Token-Viewer.