Tokens y ámbitos de OAuth
Los tokens de OAuth autorizan el acceso a recursos protegidos. Las aplicaciones conectadas reciben tokens en nombre de un cliente después de la autorización. Los ámbitos definen más el tipo de recursos protegidos a los que el aplicación conectada puede acceder. Usted asigna ámbitos a una aplicación conectada cuando la construye, y se incluyen con los tokens de OAuth durante el flujo de autorización.
Ediciones necesarias
| Disponible en: Salesforce Classic y Lightning Experience |
| Disponible en: Todas las ediciones |
Tokens de OAuth
Dependiendo del flujo de autorización, el servidor de autorización puede proporcionar estos tokens de OAuth al cliente.
| Token de OAuth | Descripción |
|---|---|
| Código de autorización | El servidor de autorización crea un código de autorización, que es un token efímero que pasa al cliente después de una autenticación correcta. El cliente envía el código de autorización al servidor de autorización para obtener un token de acceso y, opcionalmente, un token de actualización. |
| Token de acceso | Después de autorizar un cliente, Salesforce envía un token de acceso al cliente. El cliente pasa el token de acceso al servidor de recursos para solicitar acceso a los recursos protegidos. El servidor de recursos valida el token de acceso y los permisos adicionales en la forma de ámbitos antes de otorgar acceso al cliente. El token de acceso tiene una vida más larga que el código de autorización, normalmente minutos u horas. Cuando caduca un token de acceso, los intentos de utilizarlo fallan, y el cliente debe obtener un nuevo token de acceso utilizando un token de actualización o reiniciando el flujo de autorización. El cliente debe ser capaz de proteger el token de acceso frente a la intercepción por medio de un protocolo como Seguridad de capa de transporte (TLS o SSL). Para implementar un flujo de autorización de OAuth 2.0 que utilice un token de acceso, asigne el ámbito Después de recibir un token de acceso, el cliente puede utilizar uno de estos métodos para solicitar acceso.
Salesforce otorga tokens de acceso exclusivos para cada combinación de usuario y aplicación conectada (cliente). No obstante, es posible que Salesforce emita el mismo token de acceso a diferentes proveedores de servicio bajo estas condiciones: Para asegurarse de que diferentes proveedores de servicio reciben tokens de acceso exclusivos, cree una aplicación conectada distinta para cada proveedor de servicio.
|
| Token de actualización | Del mismo modo que una contraseña, un cliente puede utilizar un token de actualización repetidamente para obtener acceso al servidor de recursos. Cuando un token de actualización caduca o un usuario lo revoca fuera del cliente, el cliente solicita un nuevo token de acceso, normalmente implementando el flujo de autorización desde el principio. Un token de actualización puede tener una vida indefinida, persistiendo en un intervalo configurado por el administrador o hasta que se revoque explícitamente. El cliente puede almacenar un token de actualización y utilizarlo para obtener tokens de acceso nuevos. Por motivos de seguridad, el cliente debe proteger un token de actualización contra el acceso no autorizado. El flujo usuario-agente de OAuth 2.0 y el flujo de servidor web de OAuth 2.0 pueden solicitar tokens de actualización si el ámbito |
| Token de Id. | El token de Id. es una estructura de datos firmada que contiene atributos de usuario autenticados, incluyendo un identificador único para el usuario y cuando se emite el token. También identifica la aplicación del cliente solicitante. Salesforce puede responder a una solicitud de OAuth con un token de Id., de acuerdo con las especificaciones de conexión de OpenID. Tanto el flujo usuario-agente de OAuth 2.0 como el flujo de servidor web de OAuth 2.0 pueden solicitar un token de Id. si estos parámetros están incluidos en la solicitud. El token devuelto es un token web JSON (JWT).
A continuación se incluye un ejemplo de solicitud para un token de Id. utilizando el flujo usuario-agente. Utilice las claves públicas publicadas para comprobar que la firma en la respuesta es una firma de Salesforce válida. En MyDomainName.my.salesforce.com/id/keys, la respuesta incluye información en formato JSON acerca de las claves públicas utilizadas para la firma. Valide la firma utilizando la clave con el valor |
| Token de acceso inicial | Salesforce requiere un token de acceso inicial para autorizar el flujo de solicitud de registro de cliente dinámico. Tras la configuración de una aplicación conectada de OAuth 2.0, genere un token de acceso inicial. |
| Token de activos | Para un intercambio de tokens eficiente y la vinculación automática de dispositivos con datos de activos de Service Cloud, un cliente puede implementar el flujo de dispositivos de OAuth 2.0. En este flujo, el cliente puede intercambiar un token de acceso y un token de actor por un token de activos. Este flujo combina la emisión de tokens de activos y el registro de activos. |
| Eliminar token | Un token que se puede utilizar para revocar tokens de actualización y tokens de acceso asociados. Este token lo representa el campo DeleteToken en el objeto OauthToken. Para utilizar este token, inclúyalo en una solicitud en el extremo de revocaciones de OAuth 2.0 o utilice Apex. Consulte Revocar tokens de OAuth opacos. |
Ámbitos de OAuth
Los siguientes ámbitos de OAuth pueden asignarse a la aplicación conectada para definir el tipo de recursos protegidos a los que puede acceder el cliente.
| Valor | Descripción |
|---|---|
Realizar consultas SQL ANSI sobre datos de Customer Data Platform (cdp_query_api) |
Permite consultas SQL ANSI de datos Data Cloud en nombre del usuario. |
Gestionar servicios Pardot (pardot_api) |
Permite el acceso a servicios de API de Marketing Cloud Account Engagement en nombre del usuario Gestione la extensión total de servicios accesibles en Account Engagement. (Pardot es ahora Marketing Cloud Account Engagement.) |
Gestionar datos de perfiles de Customer Data Platform ( cdp_profile_api) |
Permite acceso a datos de API de REST de Data Cloud. Utilice este ámbito para gestionar registros de perfiles. |
Acceder a recursos de API de REST de Connect (chatter_api) |
Permite el acceso a recursos de API de REST de Connect en nombre del usuario. |
Gestionar datos de API de entrada de Customer Data Platform ( cdp_ingest_api ) |
Permite acceso a datos de API de introducción de Data Cloud. Utilice este ámbito para cargar y mantener conjuntos de datos externos en Data Cloud. Este ámbito se empaqueta en un token web JSON (JWT). |
Acceder a recursos de geodatos de gráficos de la API de REST de Analytics (eclair_api) |
Permite acceder al recurso Geodatos de gráficos de API de REST de Analytics. |
Acceder a recursos de API de REST de Analytics (wave_api) |
Permite el acceso a recursos de API de REST de Analytics. |
Gestionar datos de usuario a través de las API (api) |
Permite acceder a la cuenta del usuario que inició sesión actual utilizando API, como API de REST y API masiva 2.0. Este ámbito también incluye chatter_api, que permite acceder a recursos de API de REST de Connect. |
Acceder a permisos personalizados (custom_permissions) |
Permite acceder a los permisos personalizados en una organización asociada con la aplicación conectada. Este ámbito muestra también si el usuario actual tiene cada permiso activado. |
Acceder al servicio de URL de identidad (id, profile, email, address, phone) |
Permite el acceso al servicio de URL de identidad. Puede solicitar profile, email, address o phone de forma individual para obtener el mismo resultado que utilizando id porque son sinónimos. |
Acceder a aplicaciones Lightning (lightning) |
Permite a las aplicaciones híbridas obtener directamente sesiones secundarias Lightning a través del flujo de token de aplicación híbrida OAuth 2.0 y el flujo de token de actualización de aplicación híbrida. |
Acceder a recursos de contenido (content) |
Permite a las aplicaciones híbridas obtener directamente sesiones secundarias de contenido a través del flujo de token de aplicación híbrida OAuth 2.0 y el flujo de token de actualización de aplicación híbrida. |
Acceder a identificadores de usuario exclusivos (openid) |
Permite acceder al identificador único en el que ha iniciado sesión el usuario actual para aplicaciones de conexión OpenID. En el flujo usuario-agente de OAuth 2.0 y el flujo de servidor web de OAuth 2.0, utilice el ámbito |
Acceso completo (full) |
Permite acceder a todos los datos a los que puede acceder el usuario que ha iniciado sesión y engloba los demás ámbitos.
|
Realizar solicitudes en cualquier momento (refresh_token, offline_access) |
Permite que se devuelva un token de actualización cuando el cliente solicitante pueda recibir uno. Con un token de actualización, la aplicación puede interactuar con los datos del usuario mientras el usuario está sin conexión. Este token es sinónimo de solicitar offline_access. |
Acceder a aplicaciones Visualforce (visualforce) |
Permite el acceso a páginas de Visualforce creadas por el cliente únicamente. Este ámbito no permite el acceso a interfaces de usuario de Salesforce estándar. Para permitir a las aplicaciones híbridas obtener directamente sesiones secundarias de Visualforce, incluya este ámbito con el flujo de token de aplicación híbrida OAuth 2.0 y el flujo de token de actualización de aplicación híbrida. |
Gestionar datos de usuario a través de navegadores Web (web) |
Permite el uso de la access_token en la Web. Este ámbito incluye también visualforce, permitiendo acceder a páginas de Visualforce creadas por el cliente. |
Acceder a servicios de chatbot (chatbot_api) |
Permite el acceso a servicios de API de bot de Einstein. |
| Acceder a la API de registro desatendido (user_registration_api) | Permite el acceso a la API para el flujo Registro desatendido. Si configura su flujo para requerir autenticación, debe pasar un token de acceso que incluya este ámbito. |
Acceder a API de contraseña olvidada desatendida (forgot_password) |
Permite el acceso a la API para el flujo Registro desatendido. Si configura su flujo para requerir autenticación, debe pasar un token de acceso que incluya este ámbito. |
Acceder a todos los recursos de API de Data Cloud (cdp_api) |
Permite el acceso a todos los recursos de API de Data Cloud. |
Acceder a la plataforma de API de Salesforce (sfap_api) |
Permite el acceso a Salesforce API Platform, incluyendo servicios de API a los que se accede desde api.salesforce.com o el extremo de zona operativa equivalente. |
| Acceder a recursos de API de interacción (interaction_api) | Reservado para uso futuro. |
Cuando el cliente recibe un token de acceso, el servidor de autorización también incluye los ámbitos asignados a la aplicación conectada en su respuesta. Estos ámbitos también se almacenan con el token de actualización. Para solicitudes de token de soporte JSON o SAML, la solicitud combina los ámbitos de todos los tokens de actualización anteriores.
Todos los valores de ámbito incluyen id, que puede utilizar para acceder a las URL de identidad en cualquier momento.
Esta solicitud de ejemplo incluye los ámbitos api, id y web. Los valores de ámbito están separados con el carácter de espacio, %20.
https://MyDomainName.my.salesforce.com/services/oauth2/authorize?
response_type=token&
client_id=3MVG9lKcPoNINVBKV6EgVJiF.snSDwh6_2wSS7BrOhHGEJkC_&
redirect_uri=http%3A%2F%2F2www.example.org%2Fqa%2Fsecurity%2Foauth%2Fuseragent_flow_callback.jsp&
scope=api%20id%20web

