Présentation du jeton d’identité Exchange
Importante
Les jetons Exchange hérités sont déconseillés. À compter d’octobre 2024, les jetons de rappel et d’identité d’utilisateur Exchange hérités commenceront à être désactivés pour les locataires Exchange Online. Pour connaître la chronologie et les détails, consultez notre page FAQ. Cela fait partie 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.
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 de complément uniquement : 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.