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.
Grundlegendes zum Identitätstoken (ID)
Das ID-Token ist ein JSONWeb-Token (JWT)name
email
, undphone_number
. Sie können diese Identitätsinformationen in Ihrer Anwendung verwenden. Das ID-Token kann ebenfalls verwendet werden, um Benutzer mithilfe Ihrer Ressourcenserver oder Serveranwendungen zu authentifizieren. Sie können ein ID-Token auch außerhalb der Anwendung für Ihre API Weboperationen verwenden. In diesen Fällen müssen Sie die Signatur des ID-Tokens überprüfen, bevor Sie Ansprüchen innerhalb des ID-Tokens vertrauen können. Siehe Überprüfen eines JSON Web-Tokens.
Sie können den Ablauf des ID-Tokens auf einen beliebigen Wert zwischen 5 Minuten und 1 Tag festlegen. Sie können diesen Wert pro App-Client festlegen.
Wichtig
Wenn sich Ihr Benutzer bei der gehosteten Benutzeroberfläche oder einem Verbundidentitätsanbieter (IdP) anmeldet, setzt Amazon Cognito Sitzungscookies, die 1 Stunde lang gültig sind. Wenn Sie die gehostete Benutzeroberfläche oder den Verbund verwenden und eine Mindestdauer von weniger als 1 Stunde für Ihre Zugriffs- und ID-Token angeben, ist die Sitzung Ihrer Benutzer weiterhin bis zum Ablauf des Cookies gültig. Wenn der Benutzer Token hat, die in der einstündigen Sitzung ablaufen, kann der Benutzer seine Token aktualisieren, ohne sich erneut authentifizieren zu müssen.
ID-Token-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. Sein Wert gibt den Schlüssel an, mit dem die JSON Websignatur (JWS) des Tokens gesichert wurde. Sie können Ihren Benutzerpool-Signaturschlüssel IDs auf dem
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 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.
Standard-Payload für ID-Token
Dies ist ein Beispiel für eine Payload aus einem ID-Token. Es enthält Ansprüche bezüglich des authentifizierten Benutzers. Weitere Informationen zu OpenID Connect (OIDC) -Standardansprüchen finden Sie in der Liste der OIDCStandardansprüche
<header>
.{ "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "cognito:groups": [ "test-group-a", "test-group-b", "test-group-c" ], "email_verified": true, "cognito:preferred_role": "arn:aws:iam::111122223333:role/my-test-role", "iss": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_example", "cognito:username": "my-test-user", "middle_name": "Jane", "nonce": "abcdefg", "origin_jti": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "cognito:roles": [ "arn:aws:iam::111122223333:role/my-test-role" ], "aud": "xxxxxxxxxxxxexample", "identities": [ { "userId": "amzn1.account.EXAMPLE", "providerName": "LoginWithAmazon", "providerType": "LoginWithAmazon", "issuer": null, "primary": "true", "dateCreated": "1642699117273" } ], "event_id": "64f513be-32db-42b0-b78e-b02127b4f463", "token_use": "id", "auth_time": 1676312777, "exp": 1676316377, "iat": 1676312777, "jti": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "email": "my-test-user@example.com" } .<token signature>
sub
-
Eine eindeutige Kennung (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. Gruppen können eine Kennung sein, die Sie Ihrer App präsentieren, oder sie können eine Anfrage für eine bevorzugte IAM Rolle aus einem Identitätspool generieren.
cognito:preferred_role
-
Die IAM Rolle, die Sie ARN der Benutzerpoolgruppe mit der höchsten Priorität Ihres Benutzers zugeordnet haben. Weitere Informationen darüber, wie Ihr Benutzerpool diesen Rollenanspruch auswählt, finden Sie unter Zuweisen von Prioritätswerten zu Gruppen.
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>
cognito:username
-
Der Benutzername Ihres Benutzers in Ihrem Benutzerpool.
nonce
-
Der
nonce
Anspruch stammt aus einem gleichnamigen Parameter, den Sie zu Anfragen an Ihren OAuthauthorize
2.0-Endpunkt hinzufügen können. Wenn Sie den Parameter hinzufügen, wird dernonce
-Anspruch in das ID-Token eingeschlossen, das Amazon Cognito ausgibt, und Sie können ihn zum Schutz vor Wiederholungsangriffen verwenden. Wenn Sie in Ihrer Anfrage keinennonce
-Wert angeben, generiert und validiert Amazon Cognito automatisch eine Nonce, wenn Sie sich über eine Drittanbieter-Identität authentifizieren, und fügt sie dann alsnonce
-Anspruch zum ID-Token hinzu. Die Umsetzung desnonce
Claims in Amazon Cognito basiert auf OIDCStandards. 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 Operation Widerrufen des Endpunkts oder der RevokeTokenAPIOperation gesperrt haben. Wenn Sie ein Token widerrufen, macht Amazon Cognito alle Zugriffs- und ID-Token mit demselbenorigin_jti
-Wert ungültig. cognito:roles
-
Eine Reihe von Namen der IAM Rollen, die den Gruppen Ihres Benutzers zugeordnet sind. Jeder Benutzerpoolgruppe kann eine IAM Rolle zugeordnet werden. Dieses Array stellt alle IAM Rollen für Ihre Benutzergruppen dar, unabhängig von ihrer Rangfolge. Weitere Informationen finden Sie unter Hinzufügen von Gruppen zu einem Benutzerpool.
aud
-
Der Benutzerpool-App-Client, der Ihren Benutzer authentifiziert hat. Amazon Cognito gibt den gleichen Wert im Zugriffstoken-Anspruch
client_id
wieder. identities
-
Der Inhalt des Benutzerattributs
identities
. Das Attribut enthält Informationen über jedes Profil eines externen Identitätsanbieters, das Sie mit einem Benutzer verknüpft haben, entweder durch Verbundanmeldung oder durch Verknüpfen eines Verbundbenutzers mit einem lokalen Profil. Diese Informationen enthalten ihren Anbieternamen, ihre eindeutige Anbieter-ID und andere Metadaten. token_use
-
Der vorgesehene Zweck des Tokens. In einem ID-Token ist der Wert
id
. 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
-
Der eindeutige Bezeichner von. JWT
Das ID-Token kann OIDC Standardansprüche enthalten, die in OIDCStandardansprüchen
Anmerkung
Den benutzerdefinierten Attributen des Benutzerpools wird immer ein Präfix custom:
vorangestellt.
ID-Token-Signatur
Die Signatur des ID-Tokens wird auf der Grundlage des Headers und der Nutzlast des JWT Tokens berechnet. Bevor Sie die Ansprüche in einem von Ihrer App empfangenen ID-Token akzeptieren, überprüfen Sie die Signatur des Tokens. Weitere Informationen finden Sie unter Überprüfen eines JSON Web-Tokens. Überprüfen eines JSON Web-Tokens.