Desarrolladores de OneSpan Sign: Notificación de eventos OAuth para Salesforce - Parte 2

En la reciente versión, OneSpan Sign introdujo un nuevo servicio de devolución de llamada que implementa el flujo de fichas de actualización de Salesforce OAuth 2.0, y ahora es posible configurar un receptor de llamadas en Salesforce En la parte 1 de esta serie de blogs, demostramos cómo crear una aplicación conectada en Salesforce y recuperar un token de actualización que funcione.
Continuando donde lo dejamos, en este blog, mostraremos cómo validar, revocar y rotar el token de actualización y cómo suministrar el token de actualización a OneSpan Sign vía API. Comencemos
Pruebe su ficha de actualización
Al final del blog anterior, hemos seguido los pasos para recuperar un token de actualización. Antes de suministrarlo a OneSpan Sign, podemos realizar una prueba rápida en el local, construyendo una URL de la siguiente plantilla y abriéndola en un navegador:
https://login.salesforce.com/services/oauth2/token?client_id={your_client_id}&grant_type=refresh_token&refresh_token={the_refresh_token}
Esta API de Salesforce renueva la sesión seguida del flujo de token de actualización de OAuth 2.0, que es similar a la llamada que el servicio OneSpan Sign utiliza detrás de la escena. Un token de actualización válido devuelve un token de acceso que aparece como tal:
Refrescar la rotación de fichas
Bajo la política de seguridad por defecto, el token de actualización será válido hasta que sea revocado. Por lo tanto, es importante rotar el token de actualización a menudo o, alternativamente, actualizar la configuración de la política de OAuth, para evitar cualquier riesgo potencial de seguridad
Para revocar el token de actualización actual, construya el siguiente enlace y ábralo en su navegador:
https://login.salesforce.com/services/oauth2/revoke?token={su_ficha_de_actualización}
El navegador no devolverá nada, pero puedes verificar la revocación reproduciendo la sección anterior.
También puede actualizar la configuración de la política de OAuth si ha seguido los siguientes pasos:
- En lightning experience, navega a configuración y busca "App Manager"
- Busca la app conectada que hemos registrado, despliega el desplegable y elige "Gestionar"
- Pulse el botón "Editar políticas" y busque la sección "Políticas de OAuth"
Una vez que el token de actualización fue revocado o expiró, recupere el último token de actualización, actualícelo a través del servicio OneSpan Sign (cubierto en la sección siguiente) y realice pruebas de humo para evitar el impacto en su negocio debido al tiempo de inactividad
Actualizar el servicio de devolución de llamadas de OneSpan Sign
Una vez que haya configurado completamente la aplicación conectada y expuesto un punto final de devolución de llamada, debe actualizar el servicio de devolución de llamada de OneSpan Sign con sus configuraciones. Para ello se utilizan las siguientes llamadas a la API:
Petición HTTP
POST /api/callback/conectores/salesforceOauth2
Encabezados HTTP
Content-Type: application/json Accept: application/json Authorization: Basic api_key
Ejemplo de carga útil
{ "url": "https://yourdomain.salesforce.com/services/apexrest/oss/callback", "events": ["DOCUMENT_SIGNED", "EMAIL_BOUNCE", "KBA_FAILURE", "PACKAGE_ACTIVATE", "PACKAGE_ARCHIVE", "PACKAGE_ATTACHMENT", "PACKAGE_COMPLETE", "PACKAGE_CREATE", "PACKAGE_DEACTIVATE", "PACKAGE_DECLINE", "PACKAGE_DELETE", "PACKAGE_EXPIRE", "PACKAGE_OPT_OUT", "PACKAGE_READY_FOR_COMPLETE", "PACKAGE_RESTORE", "PACKAGE_TRASH", "ROLE_REASSIGN", "SIGNER_COMPLETE", "SIGNER_LOCKED", "TEMPLATE_CREATE"], "key": "eyJob3N0IjoibG9naW4uc2FsZXNmb3JjZS5jb20iLCJjbGllbnRfaWQiOiIzTVZHOWRaSm94eHhSeXFpcGpHY2lYbzU2MUZnIiwicmVmcmVzaF90b2tlbiI6IjVBZXA4NjF2eHh4UTYzeHE3MG85dXNEeiJ9" }
Nota:
- "url" apunta a la URL de devolución de llamada. En el próximo blog demostraremos cómo exponer un punto final REST de Salesforce.
- Puede añadir cualquier evento de devolución de llamada que aparezca en la guía "Configuración de las notificaciones de devolución de llamada".
- "key" es una estructura codificada en base64 que sigue el siguiente formato:
{"host": "login.salesforce.com", "client_id": "3MVG9dZJoxxxRyqipjGciXo561Fg", "refresh_token": "5Aep861vxxxQ63xq70o9usDz"}
- El "host" se refiere a "test.salesforce.com" (sandbox de SFDC) o "login.salesforce.com" (producción/desarrollo de SFDC). No es una URL completa (sin "https://") y no hace referencia a su propio dominio.
Después, puede comprobar la configuración actual de la devolución de llamada con una llamada GET:
Petición HTTP
GET /api/callback/conectores/salesforceOauth2
Encabezados HTTP
Content-Type: application/json Accept: application/json Authorization: Basic api_key
Es importante tener en cuenta que puede definir varias configuraciones de devolución de llamada al mismo tiempo: devolución de llamada por defecto (con autenticación básica), configuración de devolución de llamada de Salesforce (salesforceOauth2) o configuración de otros conectores como SharePoint o Dynamics. Sin embargo, el oyente de la devolución de llamada que recibirá la notificación está determinado por los datos de "origen" en su paquete JSON
Por ejemplo, en la versión actual (11.40), si se crea una transacción desde el portal del remitente o, de forma equivalente, lleva "data" > "origin" : "OSS" en el JSON de la transacción, una vez que se desencadene un evento de interés, el marco de devolución de llamada entregará la notificación al oyente de Salesforce, que está registrado como "salesforceOauth2".
Ahí está. A través del blog de hoy, usted debería ser capaz de recuperar, validar y revocar un token de actualización y suministrarlo a OneSpan Sign a través de la API de servicio de devolución de llamada. En el próximo blog, terminaremos esta serie y os mostraremos un ejemplo de integración con Salesforce, donde implementaremos un Apex Web Services funcionando como un callback listener, y probaremos todo el proceso de integración. No se pierda la oportunidad
Si tiene alguna pregunta sobre este blog o cualquier otra cosa relacionada con la integración de OneSpan Sign en su aplicación, visite los foros de la comunidad de desarrolladores. Su opinión nos importa