Como revogar tokens - Amazon Cognito

Como revogar tokens

Você pode revogar um token de atualização para um usuário usando a API da AWS. Quando você revoga um token de atualização, todos os tokens de acesso que foram emitidos anteriormente por esse token de atualização se tornam inválidos. Os outros tokens de atualização emitidos para o usuário não são afetados.

nota

Tokens JWT são independentes com uma assinatura e um tempo de validade que foi atribuído quando o token foi criado. Tokens revogados não podem ser usados com chamadas de API do Amazon Cognito que exijam um token. No entanto, os tokens revogados ainda serão válidos se forem verificados usando qualquer biblioteca JWT que verifique a assinatura e a validade do token.

Antes de poder revogar um token para um cliente de grupo de usuários existente, você deve habilitar a revogação de token. Quando você cria um novo cliente do grupo de usuários, a revogação de token é habilitada por padrão.

Habilitar revogação de token

Antes de poder revogar um token para um cliente de grupo de usuários existente, você deve habilitar a revogação de token. Você pode habilitar a revogação de token para clientes de grupo de usuários existentes usando a opção AWS CLI ou a API da AWS. Para fazer isso, chame o comando da CLI aws cognito update-user-pool-client ou a operação da API UpdateUserPoolClient. Quando fizer isso, defina o parâmetro EnableTokenRevocation para true.

Quando você cria um novo cliente do grupo de usuários usando oAWS Management Console, a AWS CLI ou a API da AWS, a revogação de token é habilitada por padrão.

Depois de habilitar a revogação de token, novas solicitações são adicionadas aos JSON Web tokens do Amazon Cognito. As solicitações origin_jti e jti são adicionadas aos tokens de acesso e de ID. Essas solicitações aumentam o tamanho do acesso do cliente de aplicação e de tokens de ID.

O exemplo de JSON a seguir mostra uma solicitação para habilitar o token de revogação usando a API CreateUserPoolClient.

{ "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 }

Revogar um token

Você pode revogar um token de atualização usando a operação de API RevokeToken. Você também pode usar o comando da CLI aws cognito-idp revoke-token para revogar tokens. Por fim, você pode revogar tokens usando o endpoint de revogação. Esse endpoint fica disponível depois que você adiciona um domínio ao seu grupo de usuários. Você pode usar o endpoint de revogação em um domínio hospedado do Amazon Cognito ou no seu próprio domínio personalizado.

nota

Para revogar um token de atualização, é necessário usar o mesmo ID de cliente que foi usado para obter o token.