Proporcionar autorización para pasarelas de API externas
Objetivos de aprendizaje
- Describir el registro de cliente dinámico de OpenID Connect e Introspección de token.
- Describir cómo utiliza Salesforce aplicaciones conectadas para proporcionar autorización para pasarelas de API externas.
Registro de cliente dinámico de OpenID Connect e Introspección de token
En la primera unidad, platicamos acerca del caso de uso en que Salesforce puede actuar como un servidor de autorización de OAuth independiente para proteger recursos albergados en una pasarela de API externa. Este caso de uso de aplicación conectada se activa por registro de cliente dinámico de OpenID Connect e introspección de token.
El registro de cliente dinámico permite a los servidores de recursos crear de forma dinámica aplicaciones de cliente como aplicaciones conectadas. Las aplicaciones de cliente son aplicaciones externas solicitando acceso a los recursos protegidos. Para crear de forma dinámica aplicaciones de cliente como aplicaciones conectadas, el servidor de recursos envía al servidor de autorización una solicitud para crear una aplicación conectada para la aplicación de cliente. El servidor de autorización verifica la solicitud del servidor de recurso y crea la aplicación conectada, asignándole un Id. de cliente y un secreto de cliente exclusivos.
La introspección de token permite a todas las aplicaciones conectadas de OAuth comprobar el estado actual de un token de actualización o de acceso de OAuth 2.0. El servidor de recursos o las aplicaciones conectadas envían el secreto y el Id. de cliente de la aplicación de cliente al servidor de autorización, iniciando un flujo de autorización de OAuth. Como parte de este flujo, el servidor de autorización valida (o introspecciona) el token de acceso de la aplicación de cliente. Si el token de acceso es actual y válido, se otorga el acceso a la aplicación de cliente.
Cómo fluye el proceso de autorización de pasarela de API externa
El registro de cliente dinámico de OpenID Connect y la introspección de token podrían parecer algo complejos. Así que pasemos por su flujo utilizando el siguiente ejemplo.
Desea que sus socios de Salesforce puedan acceder a los datos del estado de pedido de forma independiente. De modo que crea un servicio que expone el estado de pedido entre múltiples sistemas poniéndolo delante de una pasarela de API, que está implementada en la plataforma Anypoint de MuleSoft. Para habilitar el acceso protegido a estos datos, realiza los siguientes pasos.
- Aplique una política de aplicación de token de OpenID en la pasarela de API.
- Configure Salesforce como un proveedor de gestión de cliente en la plataforma Anypoint de Mulesoft.
Con esta configuración, la pasarela de API utiliza Salesforce como su proveedor de autorización en el flujo de introspección de token y el registro de cliente dinámico de OpenID Connect.
- La pasarela de API registra una aplicación de cliente con el extremo de registro de cliente dinámico de Salesforce.
- La pasarela de API envía una solicitud al extremo de autorización de Salesforce para aprobar una aplicación de cliente basándose en el tipo de concesión de autorización asociado con ella.
- Con una validación exitosa, Salesforce genera un token de acceso para la aplicación de cliente.
- La pasarela de API envía una solicitud al extremo de introspección de token de Salesforce para validar el token de acceso.
- Tras una validación exitosa, la pasarela de API permite a la aplicación de cliente acceder a los datos protegidos.
Ahora pongamos todo junto.
- Su API de estado de pedido está disponible en el portal de API de MuleSoft.
- Sus socios inician sesión en MuleSoft y crean una aplicación de cliente para acceder a la API de estado de pedido.
- La nueva aplicación de cliente envía automáticamente una solicitud al extremo de registro de cliente dinámico de Salesforce para crear una aplicación conectada para la aplicación de cliente.
- Tras un registro exitoso, Salesforce devuelve un Id. de cliente y un secreto de cliente para la aplicación conectada que se comparte con el socio.
- El socio envía una solicitud con las credenciales del cliente a la pasarela de API especificando el tipo de concesión (código de autorización) con el que aprobar al cliente.
- El socio se redirige a un navegador para iniciar sesión en Salesforce y para autorizar el acceso a datos. Esta autorización está basada en ámbitos asociados con la aplicación conectada correspondiente en Salesforce.
- Con un flujo de concesión de código de autorización exitoso, Salesforce envía un token de acceso a la aplicación de cliente.
- La aplicación de cliente envía su token de acceso a la pasarela de API, solicitando el acceso a los datos de estado de pedido protegidos.
- La pasarela de API extrae el token de acceso y lo envía al extremo de introspección de token de Salesforce.
- Salesforce valida el token de acceso.
- La pasarela de API otorga a la aplicación de cliente acceso a los datos protegidos por su API de estado de pedido albergada en MuleSoft.
Llegó al campamento base
¡Felicitaciones! Completó el módulo Fundamentos de aplicaciones conectadas. Ahora debería sentirse cómodo sabiendo cómo puede utilizar aplicaciones conectadas. En proyectos y módulos futuros de aplicación conectada, me mostraremos cómo crear y configurar aplicaciones conectadas para estos casos de uso. Mientras tanto, sepa que está en el buen camino para convertirse en un experto de aplicaciones conectadas.
Recursos
- Ayuda de Salesforce: Registro de cliente dinámico de OpenID Connect para pasarelas de API externas