Acceder a datos con integraciĆ³n de API
Objetivos de aprendizaje
- Describir cĆ³mo habilita OAuth 2.0 la integraciĆ³n de API para aplicaciones conectadas.
- Identificar los casos de uso de integraciĆ³n de API para aplicaciones conectadas.
Flujo de autorizaciĆ³n de OAuth 2.0 para aplicaciones conectadas
Puede utilizar una aplicaciĆ³n conectada para solicitar acceso a datos de Salesforce en nombre de una aplicaciĆ³n externa. Para que una aplicaciĆ³n conectada solicite acceso, debe estar integrada con la API de Salesforce utilizando el protocolo de OAuth 2.0. OAuth 2.0 es un protocolo abierto que permite la autorizaciĆ³n y el uso compartido de datos seguros entre aplicaciones a travĆ©s del intercambio de tokens. Cuando los desarrolladores desean integrar su aplicaciĆ³n con Salesforce, utilizan las API de OAuth. Estas API de OAuth permiten a un usuario trabajar en una sola aplicaciĆ³n pero ver los datos desde otra.
Cuando abre la aplicaciĆ³n mĆ³vil Salesforce para acceder a sus datos de Salesforce, estĆ” iniciando un flujo de autorizaciĆ³n de OAuth 2.0. En este flujo, su organizaciĆ³n de Salesforce es el servidor de recursos y la aplicaciĆ³n mĆ³vil Salesforce es el cliente que solicita el acceso. Usted autoriza la aplicaciĆ³n mĆ³vil Salesforce a acceder y gestionar sus datos de Salesforce en la web en cualquier momento.

El flujo de eventos durante la autorizaciĆ³n OAuth depende del estado de autenticaciĆ³n del dispositivo.
Flujo de autorizaciĆ³n por primera vez
- Abre la aplicaciĆ³n mĆ³vil Salesforce.
- Aparece una ventana de autenticaciĆ³n.
- Ingresa su nombre de usuario y su contraseƱa.
- La aplicaciĆ³n mĆ³vil Salesforce envĆa sus credenciales a Salesforce e iniciar el flujo de autorizaciĆ³n de OAuth.
- Aprueba la solicitud para otorgar el acceso a la aplicaciĆ³n mĆ³vil Salesforce, como se muestra en la imagen anterior.
- Salesforce envĆa el token de actualizaciĆ³n y acceso de la aplicaciĆ³n mĆ³vil como confirmaciĆ³n de una correcta autorizaciĆ³n.
- La aplicaciĆ³n mĆ³vil Salesforce se inicia.
AutorizaciĆ³n continua
- Abre la aplicaciĆ³n mĆ³vil Salesforce.
- Si la sesiĆ³n estĆ” activa, la aplicaciĆ³n mĆ³vil Salesforce se inicia de inmediato. Si la sesiĆ³n estĆ” obsoleta, la aplicaciĆ³n mĆ³vil Salesforce usa el token de actualizaciĆ³n de su autorizaciĆ³n inicial para obtener una sesiĆ³n actualizada.
- La aplicaciĆ³n mĆ³vil Salesforce se inicia.
IntegraciĆ³n de aplicaciones web (Flujo de servidor web de OAuth 2.0)
Para integrar una aplicaciĆ³n web externa con la API de Salesforce, utilice el flujo de servidor web de OAuth 2.0. Con este flujo, el servidor que aloja la aplicaciĆ³n web debe poder proteger la identidad de la aplicaciĆ³n conectada, definida por el Id. del cliente y el secreto del cliente.
Por ejemplo, desarrollĆ³ recientemente un sitio web que habilita un acceso seguro al estado de pedido del cliente. Los datos del estado de pedido del cliente estĆ”n almacenados de forma segura en su plataforma de Salesforce CRM. Para autorizar los usuarios de Plataforma de ayuda a ver el estado de pedido de un cliente, desarrolla una aplicaciĆ³n Estado del pedido y la configura como una aplicaciĆ³n conectada con el flujo de servidor web.

- Un usuario de Plataforma de ayuda hace clic en la aplicaciĆ³n web Estado del pedido.
- La aplicaciĆ³n conectada dirige al usuario a Salesforce para autenticar y autorizar la aplicaciĆ³n para acceder a los datos del estado del pedido.
- El usuario aprueba la aplicaciĆ³n Estado del pedido para acceder a los datos.
- Salesforce envĆa una devoluciĆ³n de llamadas a la aplicaciĆ³n Estado del pedido con un cĆ³digo de autorizaciĆ³n.
- La aplicaciĆ³n Estado del pedido pasa el cĆ³digo de autorizaciĆ³n al extremo de token de Salesforce, solicitando un token de acceso.
- Salesforce valida el cĆ³digo de autorizaciĆ³n y envĆa de vuelta un token de acceso que incluye permisos asociados en la forma de Ć”mbitos.
- La aplicaciĆ³n Estado del pedido envĆa una solicitud de vuelta a Salesforce para acceder a los datos de estado del pedido. Su solicitud incluye el token de acceso con los Ć”mbitos asociados.
- Salesforce valida el token de acceso y los Ɣmbitos asociados.
- La aplicaciĆ³n Estado del pedido puede acceder a los datos protegidos, y el estado de pedido del cliente se muestra en la aplicaciĆ³n.
IntegraciĆ³n de aplicaciĆ³n mĆ³vil (Flujo usuario-agente de OAuth 2.0)
Una aplicaciĆ³n conectada es un medio principal mediante el que una aplicaciĆ³n mĆ³vil se conecta a Salesforce. Aunque no es obligatorio, puede utilizar Salesforce Mobile SDK para crear aplicaciones mĆ³viles como aplicaciones conectadas. Estas aplicaciones pueden acceder a servicios de Salesforce OAuth y llamar las API de REST de Salesforce.
Supongamos que utiliza Salesforce Mobile SDK para crear una aplicaciĆ³n mĆ³vil que busca informaciĆ³n de contacto del cliente desde su organizaciĆ³n de Salesforce. Mobile SDK implementa el flujo de usuario-agente de OAuth 2.0 para su aplicaciĆ³n conectada, integrando la aplicaciĆ³n mĆ³vil con su API de Salesforce y otorgĆ”ndole acceso autorizado a los datos definidos.
- El usuario final abre la aplicaciĆ³n mĆ³vil.
- La aplicaciĆ³n conectada dirige al usuario a Salesforce para autenticar y autorizar la aplicaciĆ³n mĆ³vil.
- El usuario aprueba el acceso para este flujo de autorizaciĆ³n.
- La aplicaciĆ³n recibe la devoluciĆ³n de llamadas desde Salesforce a la URL de redireccionamiento, que extrae los tokens de acceso y actualizaciĆ³n.
- La aplicaciĆ³n conectada utiliza el token de acceso para acceder a los datos en nombre del usuario final.
Para obtener mĆ”s informaciĆ³n acerca de Salesforce Mobile SDK, consulte el MĆ³dulo de Trailhead Fundamentos de Salesforce Mobile SDK.
IntegraciĆ³n de servidor a servidor (Flujo portador JWT OAuth 2.0)
En algunos casos, necesita autorizar servidores sin iniciar sesiĆ³n de forma interactiva cada vez que los servidores necesitan intercambiar informaciĆ³n.
Para proporcionar autorizaciĆ³n para la integraciĆ³n de servidor a servidor, puede utilizar el flujo de soporte de Web Token (JWT) JSON OAuth 2.0. Este flujo requiere aprobaciĆ³n previa de la aplicaciĆ³n de cliente.
- El servicio de reportes comienza su reporte por lotes nocturno.
- La aplicaciĆ³n conectada envĆa el JWT, que activa la informaciĆ³n de identidad y seguridad para compartir entre dominios de seguridad, al extremo de token de Salesforce.
- Salesforce valida el JWT basƔndose en una firma utilizando un certificado configurado previamente y parƔmetros adicionales.
- Suponiendo que el JWT es vĆ”lido y que la aplicaciĆ³n conectada tiene aprobaciĆ³n previa, Salesforce emite un token de acceso. Antes, la aprobaciĆ³n se producĆa en una de estas formas.
- Si su polĆtica de aplicaciĆ³n conectada estĆ” establecida como āLos usuarios aprobados por el administrador estĆ”n preautorizadosā, puede utilizar perfiles y conjuntos de permisos.
- Si su polĆtica de aplicaciĆ³n conectada estĆ” establecida como āTodos los usuarios pueden autorizarseā, puede utilizar la emisiĆ³n y aprobaciĆ³n de usuario final de un token de actualizaciĆ³n. Sin embargo, el cliente no necesita un token de actualizaciĆ³n almacenado o actual El cliente tampoco necesita pasar un secreto del cliente al extremo del token.
- La aplicaciĆ³n conectada utiliza el token de acceso para acceder a los datos protegidos en el servidor de Salesforce.
- El servicio de reportes extrae datos autorizados en su reporte nocturno.
IntegraciĆ³n de IoT (Flujo de dispositivos de OAuth 2.0)
Para integrar dispositivos con funciones de entrada o visualizaciĆ³n limitadas, como Smart TV, puede configurar aplicaciones conectadas con el flujo de dispositivos de OAuth 2.0.
Con el flujo de dispositivos, los usuarios finales pueden autorizar aplicaciones conectadas para acceder a datos de Salesforce utilizando un navegador de Internet.
Por ejemplo, un cliente utilizar su dispositivo bluetooth para controlar sus luces de casa cuando estĆ”n fuera por la noche. Puede crear una aplicaciĆ³n conectada para el dispositivo bluetooth para activar este flujo.

- El usuario abre la aplicaciĆ³n bluetooth en su dispositivo mĆ³vil y hace clic en Encender luces.
- La aplicaciĆ³n conectada publica una solicitud en el extremo de autorizaciĆ³n de Salesforce.
- Salesforce verifica la solicitud y devuelve un cĆ³digo de usuario legible por humano, una URL de verificaciĆ³n y un cĆ³digo de dispositivo.
- La aplicaciĆ³n bluetooth muestra el cĆ³digo de dispositivo e indica al usuario ingresarlo como una URL de verificaciĆ³n especificada. La aplicaciĆ³n tambiĆ©n comienza a sondear el extremo de token de Salesforce para la autorizaciĆ³n.
- El usuario hace clic en la URL de verificaciĆ³n e ingresa el cĆ³digo.
- A continuaciĆ³n, el usuario autoriza la aplicaciĆ³n para acceder a sus datos protegidos, en este caso la ubicaciĆ³n de su casa.
- Salesforce envĆa un token de acceso y actualizaciĆ³n a la aplicaciĆ³n conectada.
- La aplicaciĆ³n bluetooth puede acceder a la ubicaciĆ³n de la casa del usuario y encender las luces.
TambiĆ©n puede utilizar el flujo de token de activos para la integraciĆ³n de IoT. Este flujo utiliza un JWT que vincula el usuario y el dispositivo conjuntamente, autenticando el dispositivo. Puede leer mĆ”s acerca de este flujo en este artĆculo de Ayuda de Salesforce: Flujo de tokens de activos de OAuth 2.0 para asegurar dispositivos conectados.
Otros flujos de integraciĆ³n de API de OAuth
AdemƔs del ejemplo anterior, tambiƩn puede utilizar los siguientes flujos de OAuth 2.0 con aplicaciones conectadas.
Flujo del token de actualizaciĆ³n
Como parte de los flujos de usuario a agentes y de servidor web, una aplicaciĆ³n conectada puede utilizar un token de actualizaciĆ³n para solicitar un nuevo token de acceso cuando caduca el token de acceso actual. Este flujo es especialmente Ćŗtil cuando no desea una intervenciĆ³n del usuario tras la autorizaciĆ³n de una aplicaciĆ³n.
Flujo de credenciales de cliente
Si quiere compartir informaciĆ³n directamente entre dos aplicaciones sin necesidad de interacciĆ³n del usuario, puede usar el flujo de credenciales de cliente de OAuth 2.0. En este flujo, la aplicaciĆ³n cliente intercambia sus credenciales de cliente definidas en la aplicaciĆ³n conectada (su clave de consumidor y la pregunta secreta del consumidor) por un token de acceso. Este flujo elimina la necesidad de una interacciĆ³n explĆcita del usuario, aunque requiere que especifique un usuario de integraciĆ³n para ejecutar la integraciĆ³n. Puede usar este flujo como una alternativa mĆ”s segura al flujo de nombre de usuario y contraseƱa de OAuth 2.0.
Flujo de afirmaciĆ³n del portador de SAML
Una aplicaciĆ³n conectada puede utilizar una afirmaciĆ³n de SAML para solicitar un token de acceso de OAuth para llamara las API de Salesforce.
Flujo de afirmaciĆ³n de SAML
Este flujo proporciona una alternativa para organizaciones que estƔn actualmente utilizando SAML para acceder a Salesforce y desean acceder a la API de servicios web del mismo modo.
Continuando
Ahora que obtuvo mĆ”s informaciĆ³n acerca de cuĆ”nto utilizar aplicaciones conectadas para acceder a datos en su organizaciĆ³n de Salesforce, pasemos al uso de aplicaciones conectadas para el inicio de sesiĆ³n Ćŗnico.
Recursos
- Trailhead module: Fundamentos de identidad
- Ayuda de Salesforce: Flujos de autorizaciĆ³n de OAuth
- Ayuda de Salesforce: Autorizar aplicaciones con flujos de OAuth