

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Das Zugriffstoken verstehen
<a name="amazon-cognito-user-pools-using-the-access-token"></a>

Das Zugriffstoken für Benutzerpools enthält Ansprüche zum authentifizierten Benutzer, eine Liste mit den Gruppen des Benutzers und eine Liste mit Bereichen. Der primäre Zweck des Zugriffstokens ist die Autorisierung von API-Operationen. Ihr Benutzerpool akzeptiert Zugriffstokens, um Self-Service-Operationen für Benutzer zu autorisieren. Beispielsweise können Sie das Zugriffstoken verwenden, um Ihrem Benutzer Zugriff zu erteilen, um Benutzerattribute hinzuzufügen, zu ändern oder zu löschen.

Mit [OAuth 2.0-Bereichen](https://www.rfc-editor.org/rfc/rfc6749#section-3.3) in einem Zugriffstoken, das von den benutzerdefinierten Bereichen abgeleitet wird, die Sie Ihrem Benutzerpool hinzufügen, können Sie Ihren Benutzer autorisieren, Informationen von einer API abzurufen. Beispielsweise unterstützt Amazon API Gateway die Autorisierung mit Amazon-Cognito-Zugriffstokens. Sie können einen REST-API-Autorisierer mit Informationen aus Ihrem Benutzerpool befüllen oder Amazon Cognito als JSON-Web-Token-Autorisierer (JWT) für eine HTTP-API verwenden. Um ein Zugriffstoken mit benutzerdefinierten Bereichen zu generieren, müssen Sie es über die [öffentlichen Endpunkte](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-userpools-server-contract-reference.html) Ihres Benutzerpools anfordern.

Mit dem [Feature-Plan](cognito-sign-in-feature-plans.md) Essentials oder Plus können Sie auch einen Lambda-Trigger vor der Token-Generierung implementieren, der Ihren Zugriffstoken zur Laufzeit Bereiche hinzufügt. Weitere Informationen finden Sie unter [Lambda-Auslöser für die Vorab-Generierung von Token](user-pool-lambda-pre-token-generation.md).

Das Zugriffstoken eines Benutzers mit dem `openid` Gültigkeitsbereich ist die Erlaubnis, weitere Informationen zu den Attributen Ihres Benutzers von der anzufordern. [UserInfo-Endpunkt](userinfo-endpoint.md) Die Menge der Informationen vom `userInfo` Endpunkt ergibt sich aus den zusätzlichen Bereichen im Zugriffstoken: zum Beispiel `profile` für alle Benutzerdaten, `email` für deren E-Mail-Adresse. 

Das Zugriffstoken eines Benutzers mit dem `aws.cognito.signin.user.admin` Gültigkeitsbereich ist die Erlaubnis, Benutzerattribute zu lesen und zu schreiben, Authentifizierungsfaktoren aufzulisten, Einstellungen für die Multi-Faktor-Authentifizierung (MFA) zu konfigurieren und gespeicherte Geräte zu verwalten. Die Zugriffsebene auf Attribute, die Ihr Zugriffstoken für diesen Bereich gewährt, entspricht den read/write Attributberechtigungen, die Sie Ihrem App-Client zuweisen.

Das Zugriffstoken ist ein [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519). Der Header für das Zugriffstoken hat die gleiche Struktur wie das ID-Token. Amazon Cognito signiert Zugriffstokens mit einem anderen Schlüssel als dem Schlüssel, der ID-Tokens signiert. Der Wert eines Zugriffsschlüssel-ID-Anspruchs (`kid`) entspricht nicht dem Wert des `kid`-Anspruchs in einem ID-Token aus derselben Benutzersitzung. Verifizieren Sie in Ihrem App-Code unabhängig voneinander ID-Tokens und Zugriffstokens. Vertrauen Sie den Ansprüchen in einem Zugriffstoken erst, wenn Sie die Signatur verifiziert haben. Weitere Informationen finden Sie unter [Überprüfung von JSON-Web-Tokens](amazon-cognito-user-pools-using-tokens-verifying-a-jwt.md). Sie können den Ablauf des Zugriffstokens auf einen beliebigen Wert zwischen 5 Minuten und 1 Tag festlegen. Sie können diesen Wert pro App-Client festlegen.

**Wichtig**  
Geben Sie für Zugriffs- und ID-Tokens nicht ein Minimum von weniger als einer Stunde an, wenn Sie die verwaltete Anmeldung verwenden. Bei der verwalteten Anmeldung werden Browser-Cookies gesetzt, die eine Stunde lang gültig sind. Wenn Sie eine Dauer des Zugriffstokens von weniger als einer Stunde konfigurieren, hat dies keine Auswirkungen auf die Gültigkeit des verwalteten Anmelde-Cookies und die Fähigkeit der Benutzer, sich nach der ersten Anmeldung eine Stunde lang ohne zusätzliche Anmeldeinformationen erneut zu authentifizieren.

## Zugriffstoken-Header
<a name="user-pool-access-token-header"></a>

Der Header enthält zwei verschiedene Informationen: die Schlüssel-ID (`kid`) und den Algorithmus (`alg`).

```
{
"kid" : "1234example="
"alg" : "RS256",
}
```

**`kid`**  
Die Schlüssel-ID. Ihr Wert ist ein Hinweis darauf, welcher Schlüssel verwendet wurde, um die JSON-Websignatur (JWS) des Tokens zu sichern. Sie können Ihren Benutzerpool-Signaturschlüssel IDs am Endpunkt einsehen. `jwks_uri`  
Weitere Informationen über den `kid`-Parameter finden Sie unter dem [Schlüssel-ID-(kid)-Header-Parameter](https://tools.ietf.org/html/draft-ietf-jose-json-web-key-41#section-4.5).

**`alg`**  
Der kryptografische Algorithmus, mit dem Amazon Cognito das Zugriffstoken sichert. Benutzerpools verwenden einen RS256 kryptografischen Algorithmus, bei dem es sich um eine RSA-Signatur mit SHA-256 handelt.  
Weitere Informationen über den `alg`-Parameter finden Sie unter dem [Algorithmus-(alg)-Header-Parameter](https://tools.ietf.org/html/draft-ietf-jose-json-web-key-41#section-4.4).

## Standard-Payload für Zugriffstoken
<a name="user-pool-access-token-payload"></a>

Dies ist eine Beispielnutzlast eines Zugriffstokens. Weitere Informationen finden Sie unter [JWT-Ansprüche](https://tools.ietf.org/html/rfc7519#section-4). Sie können Ansprüche Ihres eigenen Designs mit einem [Lambda-Auslöser für die Vorab-Generierung von Token](user-pool-lambda-pre-token-generation.md) hinzufügen.

```
<header>.
{
   "sub":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
   "device_key": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
   "cognito:groups":[
      "testgroup"
   ],
   "iss":"https://cognito-idp.us-west-2.amazonaws.com/us-west-2_example",
   "version":2,
   "client_id":"xxxxxxxxxxxxexample",
   "aud": "https://api.example.com",
   "origin_jti":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
   "event_id":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
   "token_use":"access",
   "scope":"phone openid profile resourceserver.1/appclient2 email",
   "auth_time":1676313851,
   "exp":1676317451,
   "iat":1676313851,
   "jti":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
   "username":"my-test-user"
}
.<token signature>
```

**`sub`**  
Eine eindeutige Kennung ([UUID](cognito-terms.md#terms-uuid)) oder ein Betreff für den authentifizierten Benutzer. Möglicherweise ist der Benutzername in Ihrem Benutzerpool nicht eindeutig. Der `sub`-Anspruch ist der beste Weg, um einen bestimmten Benutzer zu identifizieren.

**`cognito:groups`**  
Ein Array mit den Namen von Benutzerpoolgruppen, zu denen Ihr Benutzer gehört.

**`iss`**  
Der Identitätsanbieter, der das Token ausgegeben hat. Der Anspruch hat das folgende Format:  
`https://cognito-idp.us-east-1.amazonaws.com/us-east-1_EXAMPLE`

**`client_id`**  
Der Benutzerpool-App-Client, der Ihren Benutzer authentifiziert hat. Amazon Cognito gibt den gleichen Wert im ID-Token-Anspruch `aud` wieder.

**aud**  
Die URL der API, für die das Zugriffstoken autorisieren soll. Nur vorhanden, wenn Ihre Anwendung eine [Ressourcenbindung](cognito-user-pools-define-resource-servers.md#cognito-user-pools-resource-binding) von Ihrem Autorisierungsserver angefordert hat.

**`origin_jti`**  
Eine Token-Widerrufs-ID, die dem Aktualisierungstoken Ihres Benutzers zugeordnet ist. Amazon Cognito verweist auf den `origin_jti` Anspruch, wenn geprüft wird, ob Sie das Token Ihres Benutzers mit der [Widerrufen des Endpunkts](revocation-endpoint.md) oder der [RevokeToken](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html)API-Operation gesperrt haben. Wenn Sie ein Token widerrufen, validiert Amazon Cognito keine Zugriffs- und ID-Tokens mehr mit demselben `origin_jti` Wert.

**`token_use`**  
Der vorgesehene Zweck des Tokens. In einem Zugriffstoken ist der Wert `access`.

**`scope`**  
Eine Liste von OAuth 2.0-Bereichen, die für den angemeldeten Benutzer ausgestellt wurde. Bereiche definieren den Zugriff, den das Token auf externe APIs Self-Service-Operationen für Benutzer und Benutzerdaten auf dem Endpunkt gewährt. `userInfo` Ein Token aus dem [Token-Endpunkt](token-endpoint.md) kann alle Bereiche enthalten, die Ihr App-Client unterstützt. Ein Token aus der API-Anmeldung in Amazon Cognito enthält nur den Bereich `aws.cognito.signin.user.admin`.

**`auth_time`**  
Der Authentifizierungszeitpunkt im Unix-Zeitformat, an dem Ihr Benutzer die Authentifizierung abgeschlossen hat.

**`exp`**  
Der Ablaufzeitpunkt im Unix-Zeitformat, an dem das Token Ihres Benutzers abläuft.

**`iat`**  
Der Zeitpunkt, an dem Amazon Cognito das Token Ihres Benutzers ausgegeben hat, im Unix-Zeitformat.

**`jti`**  
Die eindeutige Kennung des JWT.

**`username`**  
Der Benutzername des Benutzers im Benutzerpool.

**Weitere -Quellen**
+ [So passen Sie Zugriffstoken in Amazon Cognito Cognito-Benutzerpools an](https://aws.amazon.com/blogs/security/how-to-customize-access-tokens-in-amazon-cognito-user-pools/)

## Zugriffstoken-Signatur
<a name="user-pool-access-token-signature"></a>

Die Signatur des Zugriffstokens, signiert mit dem am `.well-known/jwks.json` Endpunkt angekündigten Schlüssel, bestätigt die Integrität des Token-Headers und der Nutzlast. Wenn Sie Zugriffstoken verwenden, um den Zugriff auf externe Daten zu autorisieren, konfigurieren Sie Ihren API-Autorisierer immer so APIs, dass er diese Signatur anhand des Schlüssels verifiziert, mit dem sie signiert wurde. Weitere Informationen finden Sie unter [Überprüfung von JSON-Web-Tokens](amazon-cognito-user-pools-using-tokens-verifying-a-jwt.md).