Innhalt des Exchange-IdentitätstokensInside the Exchange identity token

Das Exchange-Benutzeridentitätstoken, das von der getUserIdentityTokenAsync-Methode zurückgegeben wird, bietet die Möglichkeit, dass Ihr Add-In-Code die Identität des Benutzers mit Aufrufen Ihres Back-End-Diensts einschließen kann. In diesem Artikel wird das Format und der Inhalt des Tokens erörtert.The Exchange user identity token returned by the getUserIdentityTokenAsync method provides a way for your add-in code to include the user's identity with calls to your back-end service. This article will discuss the format and contents of the token.

Ein Identitätstoken für Exchange-Benutzer ist eine Base64-URL-codierte Zeichenfolge, die vom Exchange-Server unterzeichnet ist, der sie gesendet hat. Das Token ist nicht verschlüsselt und der öffentliche Schlüssel, den Sie zum Validieren der Signatur verwenden, wird auf dem Exchange-Server gespeichert, der das Token ausgegeben hat. Das Token besteht aus drei Teilen: einer Kopfzeile, einer Nutzlast und einer Signatur. In der Tokenzeichenfolge sind die Teile zur besseren Aufteilung des Tokens durch einen Punkt (.) voneinander getrennt.An Exchange user identity token is a base-64 URL-encoded string that is signed by the Exchange server that sent it. The token is not encrypted, and the public key that you use to validate the signature is stored on the Exchange server that issued the token. The token has three parts: a header, a payload, and a signature. In the token string, the parts are separated by a period character (.) to make it easy for you to split the token.

Exchange verwendet das JSON-Webtokenformat (JWT) für das Identitätstoken. Informationen zu JWT-Token finden Sie unter RFC 7519 JSON-Webtoken (JWT).Exchange uses a the JSON Web Token (JWT) format for the identity token. For information about JWT tokens, see RFC 7519 JSON Web Token (JWT).

IdentitätstokenheaderIdentity token header

Der Header stellt Informationen zum Format und der Signatur des Tokens bereit. Im folgenden Beispiel wird gezeigt, wie der Header des Tokens aussieht.The header provides information about the format and signature information of the token. The following example shows what the header of the token looks like.

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


In der folgenden Tabelle werden die Bestandteile des Tokenheaders beschrieben.The following table describes the parts of the token header.

AnspruchClaim WertValue BeschreibungDescription
typ JWT Legt das Token als JSON-Webtoken fest. Alle Identitätstoken, die von Exchange Server bereitgestellt werden, sind JWT-Token.Identifies the token as a JSON Web Token. All identity tokens provided by Exchange server are JWT tokens.
alg RS256 Der Hashalgorithmus, der zum Erstellen der Signatur verwendet wird. Alle vom Exchange Server bereitgestellten Token verwenden den Hashalgorithmus RSASSA-PKCS1-v1_5 with SHA-256.The hashing algorithm that is used to create the signature. All tokens provided by Exchange server use the RSASSA-PKCS1-v1_5 with SHA-256 hash algorithm.
x5t Zertifikat-FingerabdruckCertificate thumbprint Der X.509-Fingerabdruck des Tokens.The X.509 thumbprint of the token.

IdentitätstokenlastIdentity token payload

Die Nutzlast enthält die Authentifizierungsansprüche, mit denen das E-Mail-Konto und der Exchange-Server, der das Token gesendet hat, identifiziert werden. Das folgende Beispiel veranschaulicht den Abschnitt für die Nutzlast.The payload contains the authentication claims that identify the email account and identify the Exchange server that sent the token. The following example shows what the payload section looks like.

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


In der folgenden Tabelle werden die Bestandteile der Identitätstoken-Nutzlast aufgeführt.The following table lists the parts of the identity token payload.

AnspruchClaim BeschreibungDescription
aud Die URL des Add-in, das das Token angefordert hat. Ein Token ist nur gültig, wenn es über das Add-In gesendet wird, das im Browser des Clients ausgeführt wird. Wenn das Add-In das Office-Add-In-Manifestschema v1.1 verwendet, ist diese URL die URL, die im ersten SourceLocation-Element unter dem Formattyp ItemRead oder ItemEdit angegeben wird, je nachdem, welches zuerst als Teil des Elements FormSettings im Add-In-Manifest auftritt.The URL of the add-in that requested the token. A token is only valid if it is sent from the add-in that is running in the client's browser. If the add-in uses the Office Add-ins manifests schema v1.1, this URL is the URL specified in the first SourceLocation element, under the form type ItemRead or ItemEdit, whichever occurs first as part of the FormSettings element in the add-in manifest.
iss Ein eindeutiger Bezeichner für den Exchange-Server, der das Token ausgestellt hat. Alle von diesem Exchange-Server ausgestellten Token weisen denselben Bezeichner auf.A unique identifier for the Exchange server that issued the token. All tokens issued by this Exchange server will have the same identifier.
nbf Das Datum und die Uhrzeit, ab dem bzw. ab der das Token gültig ist. Dieser Wert bezeichnet die Anzahl der Sekunden seit dem 1. Januar 1970.The date and time that the token is valid starting from. The value is the number of seconds since January 1, 1970.
exp Das Datum und die Uhrzeit, bis zu dem bzw. bis zu der das Token gültig ist. Dieser Wert bezeichnet die Anzahl der Sekunden seit dem 1. Januar 1970.The date and time that the token is valid until. The value is the number of seconds since January 1, 1970.
appctxsender Ein eindeutiger Bezeichner für den Exchange Server, der den Anwendungskontext gesendet hat.A unique identifier for the Exchange server that sent the application context.
isbrowserhostedapp Gibt an, ob das Add-In in einem Browser gehostet wird.Indicates whether the add-in is hosted in a browser.
appctx Der Anwendungskontext für das Token.The application context for the token.

Die Informationen im appctx-Anspruch stellen den eindeutigen Bezeichner für das Konto und den Speicherort des öffentlichen Schlüssels bereit, der zum Anmelden des Tokens verwendet wird. Die folgende Tabelle enthält die Teile des appctx-Anspruchs.The information in the appctx claim provides you with the unique identifier for the account and the location of the public key used to sign the token. The following table lists the parts of the appctx claim.

Anwendungs-KontexteigenschaftApplication context property BeschreibungDescription
msexchuid Ein eindeutiger Bezeichner für das E-Mail-Konto und den Exchange Server.A unique identifier associated with the email account and the Exchange server.
version Die Versionsnummer des Tokens. Der Wert für alle von Exchange bereitgestellten Token lautet ExIdTok.V1.The version number of the token. For all tokens provided by Exchange, the value is ExIdTok.V1.
amurl Die URL des Dokuments mit den Authentifizierungs-Metadaten, die den öffentlichen Schlüssel des X.509-Zertifikats enthält, das zur Signierung des Tokens verwendet wurde.The URL of the authentication metadata document that contains the public key of the X.509 certificate that was used to sign the token.

Weitere Informationen zur Verwendung des Dokuments mit den Authentifizierungs-Metadaten finden Sie unter Überprüfen eines Exchange-Identitätstokens.For more information about how to use the authentication metadata document, see Validate an Exchange identity token.

Identitätstoken-SignaturIdentity token signature

Die Signatur wird durch das Hashing der Header- und Nutzlastabschnitte mit dem im Header angegebenen Algorithmus und mithilfe des selbstsignierten X509-Zertifikats erstellt, das sich auf dem Server in dem für die Nutzlast angegebenen Speicherort befindet. Ihr Webdienst kann diese Signatur überprüfen, um sicherzustellen, dass das Identitätstoken von dem Server stammt, an den es gesendet werden soll.The signature is created by hashing the header and payload sections with the algorithm specified in the header and using the self-signed X509 certificate located on the server at the location specified in the payload. Your web service can validate this signature to help make sure that the identity token comes from the server that you expect to send it.

Siehe auchSee also

Ein Beispiel, dass das Exchange-Benutzeridentitätstoken analysiert, finden Sie unter Outlook-Add-In-Token-Viewer.For an example that parses the Exchange user identity token, see Outlook-Add-In-Token-Viewer.