Contenido del token de identidad de Exchange

Importante

Los tokens de identidad de usuario y los tokens de devolución de llamada heredados de Exchange se desactivarán de forma predeterminada para todos los inquilinos de Exchange Online en octubre de 2024 como parte de la Iniciativa de futuro seguro de Microsoft, que proporciona a las organizaciones las herramientas necesarias para responder al panorama actual de amenazas. Los tokens de identidad de usuario de Exchange seguirán funcionando para Exchange local. La autenticación de aplicaciones anidadas es el enfoque recomendado para los tokens en el futuro. Para obtener más información, consulte nuestra entrada de blog sobre la autenticación de aplicaciones anidadas y los tokens de Exchange heredados.

El token de identidad de usuario de Exchange devuelto por el método getUserIdentityTokenAsync proporciona una forma para el código del complemento de incluir la identidad del usuario con las llamadas al servicio back-end. Este artículo explica el formato y el contenido del token.

Un token de identidad de usuario de Exchange es una cadena URL codificada con base 64 firmado por el servidor de Exchange que lo envió. El token no está cifrado y la clave pública que se usa para validar la firma se almacena en el servidor de Exchange que emitió el token. El token tiene tres partes: un encabezado, una carga y una firma. En la cadena del token, los elementos están separados por un punto (.) para que sea más fácil dividir el token.

Exchange usa un formato JSON Web Token (JWT) para el token de identidad. Encontrará información sobre los tokens de JWT en RFC 7519 JSON Web Token (JWT).

Encabezado del token de identidad

El encabezado proporciona información sobre el formato y la información de la firma del token. En el ejemplo siguiente se muestra el aspecto de la cabecera del token.

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

En la tabla siguiente se describen las partes del encabezado del token.
Notificación Valor Descripción
typ JWT Identifica el token como un JSON Web Token. Todos los tokens de identidad proporcionados por Exchange server son tokens JWT.
alg RS256 El algoritmo hash que se usa para crear la firma. Todos los tokens proporcionados por el servidor Exchange usan RSASSA-PKCS1-v1_5 con algoritmo de hash SHA-256.
x5t Huella digital de certificado La huella digital X.509 del token.

Carga del token de identidad

La carga contiene las notificaciones de autenticación que identifican la cuenta de correo electrónico y el servidor Exchange que envió el token. En el siguiente ejemplo se muestra el aspecto de la sección 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"
  } 
}

En la siguiente tabla se enumeran las partes de la carga del token de identidad.
Notificación Descripción
aud La dirección URL del complemento que solicita el token. Un token solo es válido si se envía desde el complemento que se ejecuta en el control webview del cliente. La dirección URL del complemento se especifica en el manifiesto. El marcado depende del tipo de manifiesto.

Manifiesto XML: Si el complemento usa el esquema de manifiestos de complementos de Office v1.1, esta dirección URL es la dirección URL especificada en el primer <elemento SourceLocation> , en el tipo ItemRead de formulario o ItemEdit, lo que ocurra primero como parte del elemento FormSettings en el manifiesto del complemento.

Manifiesto unificado para Microsoft 365: La dirección URL se especifica en la propiedad "extensions.audienceClaimUrl".
iss Un identificador único del servidor Exchange que emitió el token. Todos los tokens emitidos por este servidor Exchange tendrán el mismo identificador.
nbf La fecha y la hora de inicio de la validez del token. El valor es el número de segundos desde el 1 de enero de 1970.
exp La fecha y la hora de finalización de la validez del token. El valor es el número de segundos desde el 1 de enero de 1970.
appctxsender Identificador único para el servidor Exchange que envió el contexto de la aplicación.
isbrowserhostedapp Indica si el complemento se hospeda en un explorador.
appctx El contexto de aplicación del token.

La información de la notificación appctx le proporciona el identificador único para la cuenta y la ubicación de la clave pública que se usó para iniciar el token. La siguiente tabla enumera las partes de la notificación appctx.

Propiedad de contexto de la aplicación Descripción
msexchuid Un identificador único asociado a la cuenta de correo electrónico y el servidor Exchange.
version Número de versión del token. Para todos los tokens proporcionados por Exchange, el valor es ExIdTok.V1.
amurl La dirección URL del documento de metadatos de autenticación que contiene la clave pública del certificado X.509 que usó para firmar el token.

Para obtener más información sobre cómo usar el documento de metadatos de autenticación, vea Validar un token de identidad de Exchange.

Firma del token de identidad

La firma se crea al cifrar las secciones de encabezado y de carga con el algoritmo hash especificado en el encabezado y con el certificado X.509 autofirmado que se encuentra en el servidor en la ubicación especificada en la carga. El servicio web puede validar esta firma para garantizar que el token de identidad proviene del servidor que se espera que lo envíe.

Recursos adicionales

Para ver un ejemplo que analiza el token de identidad de usuario de Exchange, consulte Complementos de Outlook: visor de tokens.