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.
Verwenden des Zugriffstokens
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
Das Zugriffstoken Ihres Benutzers ist die Erlaubnis, weitere Informationen zu den Attributen Ihres Benutzers vom UserInfo-Endpunkt anzufordern. Das Zugriffstoken Ihres Benutzers ist auch die Berechtigung, Benutzerattribute zu lesen und zu schreiben. Die Zugriffsebene auf Attribute, die Ihr Zugriffstoken gewährt, hängt von den Berechtigungen ab, die Sie Ihrem App-Client zuweisen, und von den Bereichen, die Sie im Token gewähren.
Das Zugriffstoken ist ein JSON Web Token (JWT)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 Verifizieren eines JSON-Web-Tokens. 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 mindestens eine Stunde an, wenn Sie die gehostete Benutzeroberfläche verwenden. Amazon Cognito HostedUI verwendet Cookies, die eine Stunde lang gültig sind. Wenn Sie mindestens weniger als eine Stunde angeben, erhalten Sie keine niedrigere Ablaufzeit.
Zugriffstoken-Header
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 die Signaturschlüssel-IDs Ihres Benutzerpools am
jwks_uri
-Endpunkt einsehen.Weitere Informationen über den
kid
-Parameter finden Sie unter dem Schlüssel-ID-(kid)-Header-Parameter. alg
-
Der kryptografische Algorithmus, mit dem Amazon Cognito das Zugriffstoken sichert. Benutzerpools verwenden einen kryptografischen RS256-Algorithmus, eine RSA-Signatur mit SHA-256.
Weitere Informationen über den
alg
-Parameter finden Sie unter dem Algorithmus-(alg)-Header-Parameter.
Standard-Payload für Zugriffstoken
Dies ist eine Beispielnutzlast eines Zugriffstokens. Weitere Informationen finden Sie unter JWT-Ansprüche
<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", "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 ID (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.
<Region>
.amazonaws.com/<your user pool ID>
client_id
-
Der Benutzerpool-App-Client, der Ihren Benutzer authentifiziert hat. Amazon Cognito gibt den gleichen Wert im ID-Token-Anspruch
aud
wieder. 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 oder der RevokeTokenAPI-Operation gesperrt haben. Wenn Sie ein Token widerrufen, macht Amazon Cognito alle Zugriffs- und ID-Token mit demselbenorigin_jti
-Wert ungültig. token_use
-
Der vorgesehene Zweck des Tokens. In einem Zugriffstoken ist der Wert
access
. scope
-
Eine Liste mit OAuth 2.0-Bereichen, die definieren, welcher Zugriff mit dem Token gewährt wird. Ein Token aus dem Token-Endpunkt 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 Ihres Benutzers in Ihrem Benutzerpool.
Zugriffstoken-Signatur
Die Signatur des Zugriffstokens wird basierend auf dem Header und der Nutzlast des JWT-Tokens berechnet. Bei Verwendung außerhalb einer Anwendung in Ihren Web-APIs müssen Sie diese Signatur vor der Akzeptanz des ID-Tokens immer überprüfen. Weitere Informationen finden Sie unter Verifizieren eines JSON-Web-Tokens.