Aggiornare il 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 nuovamente l'autenticazione.

Per aggiornare un token, è necessario che il token di accesso sia 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 influisce sui flussi di autorizzazione.

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

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

Esempio di flusso di autorizzazione tipo concessione token

Questo esempio di flusso di autorizzazione consente di ottenere un nuovo token di accesso senza richiedere all'utente di eseguire nuovamente l'autenticazione.

Assicurarsi di selezionare il tipo di privilegio 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 assegnazione.

Per ulteriori informazioni sul tipo di privilegio 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 di 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 con 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_'