Aggiorna tipo di assegnazione token

Utilizzare questo tipo di privilegio quando si desidera che venga emesso un token di aggiornamento insieme al token di accesso. Il token di aggiornamento viene utilizzato per ottenere un nuovo token di accesso senza richiedere all'utente di eseguire di nuovo l'autenticazione.

Per aggiornare un token, il token di accesso deve essere stato richiesto con un tipo di privilegio che supporta i token di aggiornamento, ad esempio Codice autorizzazione, Credenziali password proprietario risorsa e Asserzione. Viene quindi effettuata una richiesta all'endpoint del token con il parametro grant_type impostato su refresh_token.

Nota

Questo tipo di privilegio non influenza i flussi di autorizzazione.

Selezionare un collegamento per visualizzare un esempio cURL che include un token di aggiornamento nella richiesta:

Vedere un esempio cURL che utilizza l'esempio di flusso per l'autorizzazione del tipo di concessione token di aggiornamento.

Esempio di flusso di autorizzazione del tipo di assegnazione token di aggiornamento

In questo esempio di flusso di autorizzazione viene descritto come ottenere un nuovo token di accesso senza richiedere all'utente di eseguire di nuovo l'autenticazione.

Assicurarsi di selezionare il tipo di privilegio del token di aggiornamento quando si specifica un tipo di privilegio che supporta i token di aggiornamento, ad esempio Tipo di privilegio codice autorizzazione, Tipo di privilegio credenziali password proprietario risorsa o Tipo di privilegio di asserzione.

Per ulteriori informazioni sul tipo di concessione Aggiorna token, vedere Aggiorna tipo di assegnazione token.

Quando un'applicazione effettua una richiesta a un dominio di Identity per ottenere un token di accesso, l'URL della richiesta contiene parametri di query che indicano il tipo di accesso richiesto.

Richiesta di esempio mediante l'intestazione autorizzazione

curl -i
   -H 'Authorization: Basic <base64Encoded clientid:secret' 
   -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8'
   --request POST https://<domainURL>/oauth2/v1/token 
   -d 'grant_type=refresh_token&refresh_token=<refresh-token>&scope=<optional scope value>'
Richiesta di esempio mediante un'asserzione client JWT
   curl -i
   -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8'
   --request POST https://<domainURL>/oauth2/v1/token 
   -d 'grant_type=refresh_token&refresh_token=<refresh-token>&client_id=<client-id>&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer&client_assertion=<client-assertion>&scope=<optional scope value>'
Richiesta di esempio mediante un client pubblico
   curl -i 
   -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' 
   --request POST https://<domainURL>/oauth2/v1/token 
   -d 'grant_type=refresh_token&refresh_token=<refresh-token-value>&client_id=<client-id-value>'

Richiesta di esempio con mTLS

Per informazioni su come ottenere secureDomainURL, vedere Tipi di privilegio di accesso.

curl -v \
--cert cert.crt \
--key key.key \
--cacert ca.crt \
--location '<secureDomainURL>/oauth2/v1/token' \
--header 'Authorization: Basic <base64Encoded clientid:secret>'
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=<client-id>' \
--data-urlencode 'scope=urn:opc:idm:_myscopes_'