Revocar tokens de OAuth programáticamente
Revoque un token de OAuth si no desea que un cliente acceda a datos de Salesforce o si no Trust en que la aplicación del cliente deje de acceder por sí sola.
Ediciones necesarias
| Disponible en: Salesforce Classic y Lightning Experience |
| Disponible en: todas las ediciones |
Después de que un cliente (a través de una aplicación conectada o aplicación cliente externa) reciba un token de acceso o actualización desde un flujo de autorización de OAuth 2.0, puede utilizar el token para acceder a los datos. Puede revocar el token de acceso de la aplicación, o bien el token de actualización y todos los tokens de acceso relacionados, mediante la revocación. Los desarrolladores pueden revocar el token al configurar un botón de cierre de sesión en su aplicación.
Utilice uno de estos métodos para revocar los tokens de acceso o actualización de una aplicación conectada o aplicación cliente externa. Estos métodos son compatibles con tokens opacos y tokens de acceso basados en tokens web JSON (JWT). Para revocar un token de acceso de Data Cloud, consulte Revocar tokens de acceso de Data Cloud.
Revocar tokens con una solicitud POST
Para revocar tokens de OAuth 2.0, utilice el extremo de la revocación.
https://MyDomainName.my.salesforce.com/services/oauth2/revokeCree una solicitud POST que utilice el formato application/x-www-form-urlencoded en el cuerpo de entidad de solicitud HTTP. Por ejemplo, utilice este formato de solicitud para revocar tokens opacos y tokens de acceso basados en JWT de usuario nombrado.
POST /services/oauth2/revoke HTTP/1.1
Host: https://MyDomainName.my.salesforce.com
Content-Type: application/x-www-form-urlencoded
token=currenttokenPara revocar un token de acceso basado en JWT emitido a un usuario invitado, existen algunos encabezados adicionales. Incluya un encabezado Auth-Request-Type con el valor guest y un encabezado Uvid-Hint con el Id. de visitante exclusivo (UVID) del usuario invitado. A continuación se incluye un ejemplo de solicitud para revocar un token de acceso basado en JWT de invitado.
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=currenttokenSi se incluye un token de acceso opaco o basado en JWT, Salesforce lo invalida y revoca el token. Si se incluye un token de actualización, Salesforce lo revoca así como cualquier token de acceso asociado. Si se incluye un token de eliminación, Salesforce lo consulta y revoca el token de actualización y los tokens de acceso asociados.
Salesforce indica el correcto procesamiento de la solicitud devolviendo un código de estado HTTP 200. Salesforce devuelve un código de estado 400 para todas las condiciones de error junto con una de las siguientes respuestas de error.
unsupported_token_type: Tipo de token no admitidoinvalid_token: El token no era válido
Para un sandbox, utilice NombreMiDominio--NombreSandbox.sandbox.my.salesforce.com en vez de NombreMiDominio.my.salesforce.com.
Revocar tokens con JSONP
El extremo de revocaciones de Salesforce acepta solicitudes GET con un parámetro adicional de devolución de llamada, y devuelve la respuesta con tipo de contenido application/javascript. Por ejemplo:
https://MyDomainName.my.salesforce.com/services/oauth2/revoke?token=XXXXX&callback=myCallbackSi la solicitud es correcta, se envía una devolución de llamada al conjunto de funciones de JavaScript en el parámetro de devolución de llamada de GET.
myCallback({});Si la respuesta no es correcta, se enviará una devolución de llamada con un código de error.
myCallback({"error":"invalid_token"});Revocar tokens con Apex
Para revocar tokens con Apex, utilice el método revokeToken(type,
AuthToken) en la clase Auth.OauthToken. Consulte la Clase OauthToken en la Guía de referencia de Apex.

