

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Fine delle sessioni utente con revoca del token
<a name="token-revocation"></a>

È possibile revocare i token di aggiornamento e le sessioni degli utenti finali con i seguenti metodi. Quando si revoca un token di aggiornamento, tutti i token di accesso precedentemente emessi da tale token di aggiornamento diventano non validi. Gli altri token di aggiornamento rilasciati all'utente non sono interessati da questa operazione.

**RevokeToken operazione**  
[RevokeToken](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html)revoca tutti i token di accesso per un determinato token di aggiornamento, incluso il token di accesso iniziale dall'accesso interattivo. Questa operazione non ha effetto su nessuno degli altri token di aggiornamento dell'utente o sui figli ID e token di accesso di quegli altri token di aggiornamento.

**Endpoint di revoca**  
L'[endpoint di revoca revoca](revocation-endpoint.md) un determinato token di aggiornamento e tutti gli ID e i token di accesso generati dal token di aggiornamento. Questo endpoint revoca anche il token di accesso iniziale dall'accesso interattivo. Le richieste a questo endpoint non influiscono su nessuno degli altri token di aggiornamento dell'utente o sui figli ID e token di accesso di tali altri token di aggiornamento.

**GlobalSignOut operazione**  
[GlobalSignOut](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GlobalSignOut.html)è un'operazione self-service che un utente autorizza con il proprio token di accesso. Questa operazione revoca tutti i token di aggiornamento, ID e accesso dell'utente richiedente.

**AdminUserGlobalSignOut operazione**  
[AdminUserGlobalSignOut](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUserGlobalSignOut.html)è un'operazione lato server che un amministratore autorizza con credenziali IAM. Questa operazione revoca tutti i token di aggiornamento, ID e accesso dell'utente di destinazione.

**Cose da sapere sulla revoca dei token**
+ La richiesta per revocare un token di aggiornamento deve includere l'ID client utilizzato per ottenerlo.
+  JWTs I pool di utenti sono autonomi con una firma e un orario di scadenza assegnati al momento della creazione del token. I token revocati non possono essere utilizzati con chiamate API Amazon Cognito che richiedono un token. Tuttavia, i token revocati saranno comunque validi se vengono verificati utilizzando una qualsiasi libreria JWT che verifica la firma e la scadenza del token.
+ Quando crei un nuovo client del bacino d'utenza, la revoca dei token è attivata di default.
+ È possibile revocare i token di aggiornamento solo nei client di app con la revoca dei token abilitata. 
+ Dopo aver abilitato la revoca dei token, nuove richieste vengono aggiunte nei token web JSON di Amazon Cognito. Le attestazioni `origin_jti` e `jti` vengono aggiunte ai token di accesso e ID. Queste attestazioni aumentano le dimensioni dei token ID e di accesso del client dell'app.
+ Quando disabiliti la revoca dei token in un client di app in cui era abilitata in precedenza, i token revocati non diventano più attivi.
+ Quando [disabiliti un account utente](how-to-manage-user-accounts.md#manage-user-accounts-enable-disable) (che revoca i token di aggiornamento e accesso), i token revocati non diventano attivi se abiliti nuovamente l'account utente.
+ Quando crei un nuovo client con pool di utenti utilizzando l', l'o l' AWS API Console di gestione AWS AWS CLI, la revoca dei token è abilitata per impostazione predefinita.

## Abilitazione della revoca dei token
<a name="enable-token-revocation"></a>

Prima di poter revocare un token per un client del bacino d'utenza esistente, è necessario abilitare la revoca del token. È possibile abilitare la revoca dei token per i client del pool di utenti esistenti utilizzando AWS CLI o l' AWS API. Per fare ciò, chiama il comando `aws cognito-idp describe-user-pool-client` della CLI o l'operazione API `DescribeUserPoolClient` per recuperare le impostazioni correnti dal client app. Quindi, chiama il comando `aws cognito-idp update-user-pool-client` della CLI o l'operazione API `UpdateUserPoolClient`. Includi le impostazioni correnti dal client app e imposta il parametro `EnableTokenRevocation` su `true`.

Per creare o modificare un client di app con revoca del token abilitata con l'API Amazon Cognito o con AWS un SDK, includi il seguente parametro nella [CreateUserPoolClient](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPoolClient.html)tua [UpdateUserPoolClient](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPoolClient.html)richiesta o API.

```
"EnableTokenRevocation": true
```

Per configurare la revoca dei token nella console Amazon Cognito, seleziona un client dell'app dal menu **App** client nel tuo pool di utenti. **Seleziona il pulsante **Modifica** nelle **informazioni sul client dell'app** e abilita o disabilita la revoca del token in Configurazione avanzata.**

## Revoca di un token
<a name="revoke-tokens-api"></a>

È possibile revocare un token di aggiornamento utilizzando una richiesta [RevokeToken](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html)API, ad esempio con il comando `[aws cognito-idp revoke-token](https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/revoke-token.html)` CLI. Puoi anche revocare i token usando il [Endpoint Revoke](revocation-endpoint.md). Questo endpoint diventa disponibile dopo l'aggiunta di un dominio al bacino d'utenza. Puoi utilizzare l'endpoint di revoca su un dominio ospitato Amazon Cognito o sul tuo dominio personalizzato.

Di seguito è riportato il corpo di una richiesta API `RevokeToken` di esempio.

```
{
   "ClientId": "1example23456789",
   "ClientSecret": "abcdef123456789ghijklexample",
   "Token": "eyJjdHkiOiJKV1QiEXAMPLE"
}
```

Di seguito è riportato un esempio di richiesta cURL all'endpoint `/oauth2/revoke` di un pool di utenti con un dominio personalizzato.

```
curl --location 'auth.mydomain.com/oauth2/revoke' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic Base64Encode(client_id:client_secret)' \
--data-urlencode 'token=abcdef123456789ghijklexample' \
--data-urlencode 'client_id=1example23456789'
```

L'operazione `RevokeToken` e l'endpoint `/oauth2/revoke` non richiedono alcuna autorizzazione aggiuntiva a meno che il client dell'app non disponga di un segreto del client.