SicherheitstokenSecurity tokens

Ein zentraler Identitätsanbieter ist besonders nützlich für Apps mit weltweit verteilten Benutzern, die sich nicht immer über das Netzwerk des Unternehmens anmelden.A centralized identity provider is especially useful for apps that have users located around the globe that don't necessarily sign in from the enterprise's network. Microsoft Identity Platform authentifiziert Benutzer und stellt Sicherheitstoken bereit (z. B. Zugriffstoken, Aktualisierungstoken und ID-Token), die es einer Clientanwendung ermöglichen, auf geschützte Ressourcen auf einem Ressourcenserver zuzugreifen.Microsoft identity platform authenticates users and provides security tokens, such as access token, refresh token, and ID token, that allow a client application to access protected resources on a resource server.

Ein Zugriffstoken ist ein Sicherheitstoken, das von einem Autorisierungsserver im Rahmen eines OAuth 2.0-Flows ausgestellt wird.An access token is a security token that is issued by an authorization server as part of an OAuth 2.0 flow. Es enthält Informationen zum Benutzer und zu der App, für die das Token bestimmt ist. Diese Informationen können zum Zugreifen auf Web-APIs und andere geschützte Ressourcen verwendet werden.It contains information about the user and the app for which the token is intended; which can be used to access web APIs and other protected resources. Weitere Informationen darüber, wie Microsoft Identity Platform Zugriffstoken ausstellt, finden Sie unter Zugriffstoken.To learn more about how Microsoft identity platform issues access tokens, see Access tokens.

Zugriffstoken sind nur für kurze Zeit gültig, sodass Autorisierungsserver manchmal gleichzeitig mit dem Zugriffstoken auch ein Aktualisierungstoken ausstellen.Access tokens are only valid for a short period of time, so authorization servers will sometimes issue a refresh token at the same time the access token is issued. Die Clientanwendung kann dann dieses Aktualisierungstoken bei Bedarf gegen ein neues Zugriffstoken austauschen.The client application can then exchange this refresh token for a new access token when needed. Weitere Informationen dazu, wie Microsoft Identity Platform Aktualisierungstoken zum Widerrufen von Berechtigungen verwendet, finden Sie unter Widerrufen von Token.To learn more about how Microsoft identity platform uses refresh tokens to revoke permissions, see Token revocation.

ID-Token werden als Teil eines OpenID Connect-Flows an die Clientanwendung gesendet.ID tokens are sent to the client application as part of an OpenID Connect flow. Sie können zusammen mit einem Zugriffstoken oder anstelle eines Zugriffstokens gesendet werden und werden vom Client zur Authentifizierung des Benutzers verwendet.They can be sent along side or instead of an access token, and are used by the client to authenticate the user. Weitere Informationen darüber, wie Microsoft Identity Platform ID-Token ausstellt, finden Sie unter ID-Token.To learn more about how Microsoft identity platform issues ID tokens, see ID tokens.

Hinweis

In diesem Artikel werden Sicherheitstoken erläutert, die von den OAuth2- und OpenID Connect-Protokollen verwendet werden.This article discusses security tokens used by the OAuth2 and OpenID Connect protocols. Viele Unternehmensanwendungen verwenden SAML zum Authentifizieren von Benutzern.Many enterprise applications use SAML to authenticate users. Weitere Informationen zu SAML-Assertionen finden Sie unter Azure AD-SAML-Tokenreferenz.See Azure AD SAML token reference for information on SAML assertions.

Überprüfen von SicherheitstokenValidating security tokens

Die Überprüfung des Tokens wird auf eine der folgenden Arten durchgeführt: von der App, für die das Token generiert wurde, der Web-App, mit der der Benutzer angemeldet wurde, oder der Web-API, die für die Überprüfung des Tokens aufgerufen wird.It's up to the app for which the token was generated, the web app that signed-in the user, or the web API being called, to validate the token. Das Token wird vom Sicherheitstokenserver (STS) mit einem privaten Schlüssel signiert.The token is signed by the Security Token Server (STS) with a private key. Der STS veröffentlicht den entsprechenden öffentlichen Schlüssel.The STS publishes the corresponding public key. Zur Überprüfung eines Tokens verifiziert die App die Signatur, indem mit dem öffentlichen STS-Schlüssel überprüft wird, ob die Signatur mit dem privaten Schlüssel erstellt wurde.To validate a token, the app verifies the signature by using the STS public key to validate that the signature was created using the private key.

Token sind nur für einen begrenzten Zeitraum gültig.Tokens are only valid for a limited amount of time. Normalerweise stellt der STS ein Tokenpaar bereit:Usually the STS provides a pair of tokens:

  • Ein Zugriffstoken für den Zugriff auf die Anwendung oder die geschützte Ressource undAn access token to access the application or protected resource, and
  • Ein Aktualisierungstoken zum Aktualisieren des Zugriffstokens, wenn dieses demnächst abläuft.A refresh token used to refresh the access token when the access token is close to expiring.

Zugriffstoken werden als Bearertoken im Authorization-Header an eine Web-API übergeben.Access tokens are passed to a web API as the bearer token in the Authorization header. Eine App kann ein Aktualisierungstoken an den STS übergeben, und wenn der Benutzerzugriff auf die App nicht widerrufen wurde, erhält sie ein neues Zugriffstoken und ein neues Aktualisierungstoken zurück.An app can provide a refresh token to the STS, and if the user access to the app wasn't revoked, it will get back a new access token and a new refresh token. So wird ein Fall behandelt, bei dem eine Person aus dem Unternehmen ausscheidet.This is how the scenario of someone leaving the enterprise is handled. Wenn der STS ein Aktualisierungstoken empfängt, stellt er kein weiteres gültiges Zugriffstoken aus, falls der Benutzer nicht mehr autorisiert ist.When the STS receives the refresh token, it won't issue another valid access token if the user is no longer authorized.

JSON Web Token (JWTs) und AnsprücheJSON Web Tokens (JWTs) and claims

Microsoft Identity Platform implementiert Sicherheitstoken als JSON Web Token (JWTs) , die Ansprüche enthalten.Microsoft identity platform implements security tokens as JSON Web Tokens (JWTs) that contain claims. Da JWT-Token als Sicherheitstoken verwendet werden, wird diese Art der Authentifizierung manchmal auch als JWT-Authentifizierung bezeichnet.Since JWTs are used as security tokens, this form of authentication is sometimes called JWT authentication.

Ein Anspruch stellt Assertionen zu einer Entität (z. B. Clientanwendung oder Ressourcenbesitzer) für eine andere Entität (z. B. Ressourcenserver) bereit.A claim provides assertions about one entity, such as a client application or resource owner, to another entity, such as a resource server. Ein Anspruch kann auch als JWT-Anspruch bzw. JSON-Web-Token-Anspruch bezeichnet werden.A claim may also be referred to as a JWT claim or JSON Web Token claim.

Ansprüche sind Name-Wert-Paare zur Weitergabe von Informationen zum Tokenantragsteller.Claims are name/value pairs that relay facts about the token subject. Ein Anspruch kann beispielsweise Informationen zum Sicherheitsprinzipal enthalten, der vom Autorisierungsserver authentifiziert wurde.For example, a claim may contain facts about the security principal that was authenticated by the authorization server. Welche Ansprüche in einem Token enthalten sind, hängt von verschiedenen Dingen ab. Hierzu zählen unter anderem die Art des Tokens, die Art der Anmeldeinformationen für die Authentifizierung des Antragstellers und die Anwendungskonfiguration.The claims present in a given token depend on many things, including the type of token, the type of credential used to authenticate the subject, the application configuration, and so on.

Anwendungen können Ansprüche für verschiedene Aufgaben verwenden, z. B.:Applications can use claims for various tasks such as:

  • Überprüfen des TokensValidating the token
  • Identifizieren des Mandanten des TokenantragstellersIdentifying the token subject's tenant
  • Anzeigen von BenutzerinformationenDisplaying user information
  • Ermitteln der Autorisierung des AntragstellersDetermining the subject's authorization

Ein Anspruch besteht aus Schlüssel-Wert-Paaren, mit denen beispielsweise die folgenden Informationen bereitgestellt werden:A claim consists of key-value pairs that provide information such as the:

  • Sicherheitstokenserver, der das Token generiert hatSecurity Token Server that generated the token
  • Datum, an dem das Token generiert wurdeDate when the token was generated
  • Antragsteller (z. B. der Benutzer – mit Ausnahme von Daemons)Subject (such as the user--except for daemons)
  • Zielgruppe, d. h. App, für die das Token generiert wurdeAudience, which is the app for which the token was generated
  • App (der Client), die das Token angefordert hat.App (the client) that asked for the token. Bei Web-Apps kann dies mit der Zielgruppe identisch seinIn the case of web apps, this may be the same as the audience

Weitere Informationen darüber, wie Microsoft Identity Platform Token und Anspruchsinformationen implementiert, finden Sie unter Zugriffstoken und ID-Token.To learn more about how Microsoft identity platform implements tokens and claim information, see access tokens and ID tokens.

Ausgabe von Token und Codes für die einzelnen AbläufeHow each flow emits tokens and codes

Je nach Art Ihres Clients kann einer (oder auch mehrere) der Authentifizierungsflows verwendet werden, die von Microsoft Identity Platform unterstützt werden.Depending on how your client is built, it can use one (or several) of the authentication flows supported by Microsoft identity platform. Mit diesen Abläufen können verschiedene Token (ID-Token, Aktualisierungstoken, Zugriffstoken) und Autorisierungscodes erstellt werden, und es sind unterschiedliche Token erforderlich.These flows can produce a variety of tokens (ID tokens, refresh tokens, access tokens) as well as authorization codes, and require different tokens to make them work. Dieses Diagramm enthält eine Übersicht:This chart provides an overview:

FlowFlow ErforderlichRequires ID-TokenID token Zugriffstokenaccess token Aktualisierungstokenrefresh token Autorisierungscodeauthorization code
AutorisierungscodeflowAuthorization code flow xx xx xx xx
Impliziter FlowImplicit flow xx xx
Hybrid-OIDC-AblaufHybrid OIDC flow xx xx
Einlösung des AktualisierungstokensRefresh token redemption Aktualisierungstokenrefresh token xx xx xx
„Im Auftrag von“-AblaufOn-behalf-of flow Zugriffstokenaccess token xx xx xx
ClientanmeldeinformationenClient credentials x (nur App)x (app-only)

Für Token, die im impliziten Modus ausgestellt werden, gilt eine Längenbeschränkung, weil sie per URL zurück an den Browser übergeben werden (response_mode ist hierbei query oder fragment).Tokens issued via the implicit mode have a length limitation due to being passed back to the browser via the URL (where response_mode is query or fragment). Für einige Browser gilt eine Größenbeschränkung für die URL, die in die Browserleiste eingefügt werden kann. Es tritt ein Fehler auf, wenn die URL zu lang ist.Some browsers have a limit on the size of the URL that can be put in the browser bar and fail when it is too long. Diese Token verfügen daher nicht über Ansprüche der Art groups oder wids.Thus, these tokens do not have groups or wids claims.

Nächste SchritteNext steps

Weitere Themen zu den Grundlagen von Authentifizierung und Autorisierung:For other topics covering authentication and authorization basics:

  • Unter Authentifizierung im Vergleich zu Autorisierung lernen Sie die grundlegenden Konzepte für Authentifizierung und Autorisierung in Microsoft Identity Platform kennen.See Authentication vs. authorization to learn about the basic concepts of authentication and authorization in Microsoft identity platform.
  • Unter Anwendungsmodell erhalten Sie Informationen zum Registrierungsvorgang für Ihre Anwendung, damit diese in Microsoft Identity Platform integriert werden kann.See Application model to learn about the process of registering your application so it can integrate with Microsoft identity platform.
  • Unter App-Anmeldeflow lernen Sie den Anmeldeflow von Web-, Desktop- und mobilen Apps in Microsoft Identity Platform kennen.See App sign-in flow to learn about the sign-in flow of web, desktop, and mobile apps in Microsoft identity platform.