Contexto:
A raíz de un cambio en la aplicación de Salesforce la conexión que utilizaba el plugin necesita una configuración de seguridad adicional para que Salesforce pueda seguir autorizando el acceso correctamente.
Para adaptar Signaturit, se debe crear una configuración OAuth específica en Salesforce y donde se actualicen las credenciales de conexión. De esta forma, Salesforce reconocerá y autorizará de nuevo a Signaturit, permitiendo que los eventos y estados de los envíos se sincronicen correctamente.
Pasos que seguir:
1. Crear una aplicación de conexión en Salesforce
Se debe crear una External Client App en el entorno del cliente para que Salesforce pueda identificar y autorizar de forma segura la conexión con Signaturit.
La ruta es: Setup → External Client App Manager → New External Client App, seleccionando Distribution State: Local.
Se adjunta imagen de ejemplo:
2. Habilitar OAuth:
Se activa OAuth dentro de la app para que Salesforce permita la autenticación segura con Signaturit. Sin esto, la conexión no puede validarse correctamente.
Dentro de la app, ir a Settings → OAuth Settings → marcar "Enable OAuth".
3. Configurar la URL de retorno
En este apartado se introduce la Callback URL, es decir, la dirección a la que Salesforce devolverá al usuario después de completar la autenticación.
Debe incluirse la URL correspondiente al entorno de Signaturit y, si es necesario, las direcciones adicionales para realizar pruebas. Es importante que la URL coincida exactamente con la que utiliza Signaturit; incluso una pequeña diferencia puede impedir que la conexión se complete correctamente.
- La real que usa el backend de Signaturit en el entorno correspondiente (ej. https://app.sandbox.signaturit.com/salesforce/auth) (Entorno de Sandbox) (ej. https://app.signaturit.com/salesforce/auth) (Entorno de Producción)
- https://oauth.pstmn.io/v1/callback (si se va a probar con Postman)
- https://test.salesforce.com/services/oauth2/success (para pruebas manuales)
*El path debe coincidir carácter por carácter con el que envía el backend. Para confirmarlo: en la pantalla de integración de Salesforce en Signaturit, inspeccionar el enlace del botón "Regístrate" — la URL contiene el parámetro redirect_uri= con el valor exacto a usar.
4. Seleccionar los permisos de acceso
Aquí se eligen los permisos que Salesforce dará a la integración. Como mínimo, hay que permitir acceso para consultar datos y mantener la conexión activa en el tiempo.
En concreto, se seleccionan los permisos Manage user data via APIs (api), Full acces (full) y Perform requests at any time (refresh_token, offline_access), que son los necesarios para que Signaturit pueda trabajar correctamente con Salesforce sin que la sesión caduque enseguida.
5. Activar el tipo de flujo de autorización
Activar Enable Authorization Code and Credentials Flow.
6. Proveedores autorizados (PRO)
Aquí se dejan activadas las medidas de seguridad recomendadas para proteger la autenticación. En particular, PKCE debe quedarse activado porque añade una capa extra de protección al proceso de inicio de sesión.
La opción de restringir por IP los refresh tokens solo hace falta si el cliente quiere limitar desde qué redes se puede renovar la conexión. Si no existe ese requisito, puede dejarse desactivada para no complicar el acceso.
- Require Proof Key for Code Exchange (PKCE) → dejar activado.
7. Obtener las credenciales de conexión
En este paso se generan las credenciales que identifican la app ante Salesforce: Consumer Key y Consumer Secret. Son los datos que luego se usarán para conectar Signaturit con esta app.
Salesforce las muestra dentro de Manage Consumer Details, y por seguridad puede pedir una verificación adicional por email o SMS antes de mostrarlas.
8. Proveedores autorizados (PRO)
Facilitar el Client ID/Secret a Signaturit para que lo pueda registrar en su base de datos.
* Signaturit le confirmará una vez hayan aplicado los cambios, para continuar con el siguiente paso.
9. Probar la conexión desde la pantalla de integración de Salesforce en la app de Siganturit.
Aceptar:
Una vez realizados estos pasos, vemos como los eventos de Signaturit hacía SF vuelven a funcionar:
Y el estado de los envíos realizados desde el plugin se actualizan correctamente: