Partager via


Présentation du jeton d’identité Exchange

Importante

Les jetons d’identité d’utilisateur Exchange hérités et les jetons de rappel seront désactivés pour tous les locataires Exchange Online en octobre 2024 dans le cadre de l’initiative Avenir sécurisé de Microsoft, qui fournit aux organisations les outils nécessaires pour répondre au paysage actuel des menaces. Les jetons d’identité utilisateur Exchange fonctionnent toujours pour Exchange en local. L’authentification d’application imbriquée est l’approche recommandée pour les jetons à l’avenir. Pour plus d’informations, consultez notre billet de blog sur l’authentification des applications imbriquées et les jetons Exchange hérités.

Le jeton d’identité d’utilisateur Exchange renvoyé par la méthode getUserIdentityTokenAsync permet au code du complément d’inclure l’identité de l’utilisateur avec des appels à votre service principal. Cet article présente le format et le contenu du jeton.

Un jeton d’identité d’utilisateur Exchange est une chaîne d’URL encodée au format base64 signée par le serveur Exchange qui l’a envoyée. Le jeton n’est pas chiffré et la clé publique qui permet de valider la signature est stockée sur le serveur Exchange qui a émis le jeton. Le jeton comporte trois parties : un en-tête, une charge utile et une signature. Dans la chaîne du jeton, les parties sont séparées par un point (.) pour faciliter le fractionnement du jeton.

Exchange utilise le format JSON Web Token (JWT) pour le jeton d’identité. Pour plus d’informations sur les jetons JWT, reportez-vous au document RFC 7519 JSON Web Token (JWT).

En-tête du jeton d’identité

L’en-tête fournit des informations sur le format et la signature du jeton. L’exemple suivant illustre l’en-tête du jeton.

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

Le tableau suivant décrit les parties de l’en-tête du jeton.
Revendication Valeur Description
typ JWT Identifie le jeton comme un jeton Web JSON. Tous les jetons d’identité fournis par le serveur Exchange sont des jetons JWT.
alg RS256 L’algorithme de hachage est utilisé pour créer la signature. Tous les jetons fournis par le serveur Exchange utilisent RSASSA-PKCS1-v1_5 avec l’algorithme de hachage SHA-256.
x5t Empreinte de certificat L’empreinte X.509 du jeton.

Charge utile du jeton d’identité

La charge utile contient les revendications d’authentification qui identifient le compte de messagerie et identifient le serveur Exchange qui a envoyé le jeton. L’exemple suivant montre à quoi ressemble la section de charge utile.

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

Le tableau suivant répertorie les différentes parties de la charge utile du jeton d’identité.
Revendication Description
aud L’URL du complément ayant demandé le jeton. Un jeton n’est valide que s’il est envoyé à partir du complément qui s’exécute dans le contrôle webview du client. L’URL du complément est spécifiée dans le manifeste. Le balisage dépend du type de manifeste.

Manifeste XML : Si le complément utilise le schéma des manifestes des compléments Office v1.1, cette URL est l’URL spécifiée dans le premier <élément SourceLocation> , sous le type ItemRead de formulaire ou ItemEdit, selon ce qui se produit en premier dans le cadre de l’élément FormSettings dans le manifeste du complément.

Manifeste unifié pour Microsoft 365 : L’URL est spécifiée dans la propriété « extensions.audienceClaimUrl ».
iss Un identificateur unique du serveur Exchange qui a émis le jeton. Tous les jetons émis par ce serveur Exchange auront le même identificateur.
nbf La date et l’heure de début de validité du jeton. La valeur correspond au nombre de secondes depuis le 1er janvier 1970.
exp La date et l’heure de fin de validité du jeton. La valeur correspond au nombre de secondes depuis le 1er janvier 1970.
appctxsender Identificateur unique du serveur Exchange qui a envoyé le contexte de l’application.
isbrowserhostedapp Indique si le complément est hébergé dans un navigateur.
appctx Contexte d’application du jeton.

Les informations contenues dans la réclamation appctx fournissent l’identificateur unique pour le compte et l’emplacement de la clé publique utilisée pour signer le jeton. Le tableau suivant répertorie les parties de la réclamation appctx.

Propriété du contexte de l’application Description
msexchuid Identificateur unique associé au compte de messagerie et au serveur Exchange.
version Numéro de version du jeton. Pour tous les jetons fournis par Exchange, la valeur est ExIdTok.V1.
amurl URL du document de métadonnées d’authentification qui contient la clé publique du certificat X.509 utilisé pour signer le jeton.

Pour plus d’informations sur l’utilisation du document de métadonnées d’authentification, reportez-vous à Valider un jeton d’identité Exchange.

Signature du jeton d’identité

La signature est créée par hachage des sections d’en-tête et de charge utile avec l’algorithme spécifié dans l’en-tête et en utilisant le certificat X509 autosigné situé sur le serveur à l’emplacement spécifié dans la charge utile. Votre service web peut valider cette signature pour contribuer à assurer que le jeton d’identité provient bien du serveur prévu pour son envoie.

Voir aussi

Pour consulter un exemple d’analyse du jeton d’identité d’utilisateur Exchange, reportez-vous à Outlook-Add-In-Token-Viewer.