Widerrufen von Token - Amazon Cognito

Widerrufen von Token

Sie können ein Aktualisierungstoken für einen Benutzer mithilfe der AWS-API widerrufen. Wenn Sie ein Aktualisierungstoken widerrufen, werden alle Zugriffstoken, die zuvor von diesem Aktualisierungstoken ausgegeben wurden, ungültig. Die anderen Aktualisierungstoken, die an den Benutzer ausgegeben wurden, sind nicht betroffen.

Anmerkung

JWT-Token sind eigenständig mit einer Signatur und einer Ablaufzeit, die beim Erstellen des Token zugewiesen wurde. Widerrufene Token können nicht mit Amazon-Cognito-API-Aufrufen verwendet werden, die ein Token erfordern. Widerrufene Token sind jedoch weiterhin gültig, wenn sie mit einer beliebigen JWT-Bibliothek verifiziert werden, die die Signatur und den Ablauf des Tokens verifiziert.

Sie können ein Aktualisierungstoken für einen Benutzerpoolclient mit aktiviertem Tokenwiderruf widerrufen. Wenn Sie einen neuen Benutzerpool-Client erstellen, ist der Tokenwiderruf standardmäßig aktiviert.

Tokenwiderruf aktivieren

Bevor Sie ein Token für einen vorhandenen Benutzerpool-Client widerrufen können, müssen Sie den Tokenwiderruf aktivieren. Sie können den Tokenwiderruf für vorhandene Benutzerpool-Clients mithilfe der AWS CLI oder der AWS-API aktivieren. Rufen Sie dazu den aws cognito-idp describe-user-pool-client CLI-Befehl oder die DescribeUserPoolClient API-Operation auf, um die aktuellen Einstellungen von Ihrem App-Client abzurufen. Dann rufen Sie den aws cognito-idp update-user-pool-client CLI-Befehl oder die UpdateUserPoolClient API-Operation auf. Fügen Sie die aktuellen Einstellungen von Ihrem App-Client hinzu und setzen Sie den Parameter EnableTokenRevocation auf true.

Wenn Sie einen neuen Benutzerpool-Client mit der AWS Management Console, der AWS CLI oder der AWS-API erstellen, ist der Tokenwiderruf standardmäßig aktiviert.

Nachdem Sie den Tokenwiderruf aktiviert haben, werden neue Ansprüche in den JSON-Web-Token von Amazon Cognito hinzugefügt. Die origin_jti- und jti-Ansprüche werden zu Zugriffs- und ID-Token hinzugefügt. Diese Ansprüche erhöhen die Größe des Anwendungsclient-Zugriffs und ID-Tokens.

Das folgende JSON-Beispiel zeigt eine Anforderung zum Aktivieren des Token-Widerrufs mithilfe der CreateUserPoolClient-API.

{ "AccessTokenValidity": 123, "AllowedOAuthFlows": [ "string" ], "AllowedOAuthFlowsUserPoolClient": true, "AllowedOAuthScopes": [ "string" ], "AnalyticsConfiguration": { "ApplicationArn": "string", "ApplicationId": "string", "ExternalId": "string", "RoleArn": "string", "UserDataShared": false }, "CallbackURLs": [ "string" ], "ClientName": "string", "DefaultRedirectURI": "string", "ExplicitAuthFlows": [ "string" ], "GenerateSecret": true, "IdTokenValidity": 123, "LogoutURLs": [ "string" ], "PreventUserExistenceErrors": "string", "ReadAttributes": [ "string" ], "RefreshTokenValidity": 456, "SupportedIdentityProviders": [ "string" ], "TokenValidityUnits": { "AccessToken": "string", "IdToken": "string", "RefreshToken": "string" }, "UserPoolId": "string", "WriteAttributes": [ "string" ], "EnableTokenRevocation": true }

Widerrufen eines Token

Sie können ein Aktualisierungstoken mithilfe der RevokeToken-API-Operation widerrufen. Sie können auch den aws cognito-idp revoke-token-CLI-Befehl verwenden, um Token zu widerrufen. Schließlich können Sie Token mithilfe des Widerrufendpunkts widerrufen. Dieser Endpunkt ist verfügbar, nachdem Sie Ihrem Benutzerpool eine Domäne hinzugefügt haben. Sie können den Widerrufsendpunkt entweder auf einer von Amazon Cognito gehosteten Domäne oder auf Ihrer eigenen benutzerdefinierten Domäne verwenden.

Anmerkung

Um ein Aktualisierungstoken zu widerrufen, müssen Sie dieselbe Client-ID verwenden, die zum Abrufen des Tokens verwendet wurde.