Loading
Identificazione degli utenti e gestione degli accessi
Revoca dei token OAuth a livello di programmazione

Revoca dei token OAuth a livello di programmazione

Revocare un token OAuth per impedire a un client di accedere ai dati Salesforce o se non si è certi che il client interrompa da solo l'accesso.

Versioni (Edition) richieste

Disponibile in: Salesforce Classic e Lightning Experience
Disponibile in: tutte le versioni

Quando un client, tramite un'applicazione connessa o un'applicazione client esterna, riceve un token di accesso o di aggiornamento da un flusso autorizzazione OAuth 2.0, può utilizzare il token per accedere ai dati. È possibile revocare il token di accesso dell'applicazione o il token di aggiornamento e tutti i token di accesso correlati usando la funzionalità di revoca. Gli sviluppatori possono revocare il token quando configurano un pulsante Esci nell'applicazione.

Utilizzare uno dei metodi seguenti per revocare i token di accesso o aggiornamento di un'applicazione connessa o client esterna. Questi metodi sono supportati per i token opachi e i token di accesso basati su JWT. Per revocare un token di accesso a Data Cloud, vedere Revoca dei token.

Revocare i token con una richiesta POST

Per revocare i token OAuth 2.0, utilizzare l'endpoint di revoca.

https://MyDomainName.my.salesforce.com/services/oauth2/revoke

Creare una richiesta POST che utilizza il formato application/x-www-form-urlencoded nel corpo-entità della richiesta HTTP. Ad esempio, utilizzare questo formato di richiesta per revocare i token opachi e i token di accesso basati su JWT per gli utenti denominati.

    POST /services/oauth2/revoke HTTP/1.1
                    Host: https://MyDomainName.my.salesforce.com
                    Content-Type: application/x-www-form-urlencoded
                    
                    token=currenttoken

Per revocare un token di accesso basato su JWT emesso per un utente guest, sono presenti alcune intestazioni aggiuntive. Includere un'intestazione Auth-Request-Type con il valore guest e un'intestazione Uvid-Hint con l'ID visitatore univoco (UVID) dell'utente guest. Di seguito è riportato un esempio di richiesta di revoca di un token di accesso basato su JWT guest.

POST /services/oauth2/revoke? HTTP 1.1
Host:https://MyDomainName.my.salesforce.com
Content-Type: application/x-www-form-urlencoded
Auth-Request-Type: guest
Uvid-Hint: <UVID value>

token=currenttoken

Se è incluso un token di accesso opaco o basato su JWT, Salesforce lo invalida e revoca il token. Se è incluso un token di aggiornamento, questo viene revocato da Salesforce insieme a tutti i token di accesso associati. Se è incluso un token di eliminazione, Salesforce lo interroga e revoca il token di aggiornamento e i token di accesso associati.

Salesforce indica che la richiesta viene elaborata correttamente restituendo il codice di stato HTTP 200. Per tutte le condizioni di errore, Salesforce restituisce il codice di stato 400 insieme a una delle seguenti risposte di errore.

  • unsupported_token_type: tipo di token non supportato
  • invalid_token: il token non era valido

Per un Sandbox, utilizzare MyDomainName--SandboxName.sandbox.my.salesforce.com anziché MyDomainName.my.salesforce.com.

Suggerimento
Suggerimento L'URL di accesso di Dominio personale dell'organizzazione è indicato nella pagina di impostazione di Dominio personale.

Revocare i token con JSONP

L'endpoint di revoca di Salesforce accetta le richieste GET con un parametro di richiamata aggiuntivo e restituisce la risposta con application/javascript di tipo di contenuto. Ad esempio:

https://MyDomainName.my.salesforce.com/services/oauth2/revoke?token=XXXXX&callback=myCallback

Se la richiesta ha esito positivo, viene inviata una richiamata alla funzione JavaScript impostata nel parametro di richiamata del GET.

myCallback({});

Se la risposta non ha esito positivo, viene inviata una richiamata con un codice di errore.

myCallback({"error":"invalid_token"});

Revocare i token con Apex

Per revocare i token con Apex, utilizzare il metodo revokeToken(type, AuthToken) nella classe Auth.OauthToken. Vedere la classe OauthToken nella Guida Apex Reference Guide.

 
Caricamento
Salesforce Help | Article