Guía de conexión JWT OAuth de Salesforce para Jitterbit App Builder
Nota
Esta guía de conexión es el proceso recomendado para la autenticación de Cuenta de Servicio entre App Builder y Salesforce. Consulta el artículo Proveedor de seguridad - Salesforce / OpenID Connect si buscas configurar la autenticación de Cuenta a nivel de usuario.
Requisitos previos
- Debes tener una cuenta de Salesforce con al menos 1 licencia de usuario activo de Salesforce y un entorno sandbox al que conectarte.
Limitaciones
- Solo puedes tener una conexión JWT de Salesforce por instancia de App Builder.
Creación de un certificado
Salesforce solo acepta JWT firmados con RSA SHA256, por lo que necesitas un Certificado x509 y su clave privada asociada.
-
Descarga e instala OpenSSL
-
OpenSSL es una herramienta completa para criptografía y comunicación segura. Puedes descargarla gratis: https://www.openssl.org/
-
También puedes instalar Git, ya que tiene OpenSSL instalado en su interior: https://git-scm.com/
-
-
Después de instalar OpenSSL, procede a crear un Certificado y Clave X509
-
Abre una terminal o línea de comandos, ejecuta OpenSSL y luego ejecuta el siguiente comando para crear un archivo de certificado y clave:
req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout myKey.key -out myCertificate.crt -
Se te pedirá que completes detalles como País, Nombre Común o Dirección de Correo Electrónico. No es necesario completar toda la información, pero el Nombre Común es obligatorio.

-
-
Después de ejecutar el comando anterior, deberías encontrar dos archivos creados

Nota
Asegúrate de anotar o copiar los archivos de Certificado y Clave en una ubicación que sea fácilmente accesible
Configuración en Salesforce
Ahora que tenemos nuestro Certificado, necesitamos crear una aplicación conectada en Salesforce.
Crear una aplicación OAuth personalizada
- Inicia sesión en Salesforce.com o en tu entorno de sandbox de Salesforce.
- Desde la página de inicio, ve a Herramientas de Plataforma > Aplicaciones > Administrador de Aplicaciones.
- Haz clic en el botón Nueva Aplicación Conectada y ingresa lo siguiente:
- Nombre de la Aplicación Conectada - El nombre debe contener el nombre del sistema y la integración, como Integración de App Builder para identificarlo fácilmente, pero esto puede ser lo que desees.
- Nombre de la API - Deja que Salesforce lo complete basado en el nombre de la Aplicación Conectada.
- Correo Electrónico de Contacto - Cualquier correo electrónico que desees.
- Habilitar Configuraciones de OAuth - Marca esta casilla, y luego aparecerán las siguientes configuraciones.
- URL de Callback -
sfdc://oauth/jwt/success - Usar firmas digitales - Marca esta casilla, luego sube el archivo myCertificate.crt que creamos anteriormente.
- Ámbitos de OAuth Seleccionados - Elige "Gestionar datos de usuario a través de APIs (api)", "Acceso completo (full)" y "Realizar solicitudes en cualquier momento (refresh_token, offline_access)".
- Haz clic en Guardar y luego haz clic en Continuar.
- Ahora que se ha creado la aplicación conectada, necesitamos anotar el ID de Cliente y el Secreto de Cliente para esta aplicación.
- En la página principal de la aplicación conectada, haz clic en el botón titulado "Gestionar detalles del consumidor". Esto debería abrir una nueva página después de completar un aviso de seguridad, que contiene el ID de Cliente y el Secreto de Cliente para la aplicación. Toma nota de esto ya que lo necesitaremos más adelante.
- A continuación, necesitamos ajustar la configuración de la aplicación conectada para preaprobar a nuestro usuario.
- En la página de la aplicación conectada, haz clic en el botón "Gestionar" en la parte superior de la pantalla, luego en la siguiente página, haz clic en el botón "Editar Políticas".
- En la sección de Políticas de OAuth, cambia el menú desplegable de Usuarios Permitidos de "Todos los usuarios pueden autorizarse a sí mismos" a "Los usuarios aprobados por el administrador están preautorizados".
- Haz clic en Guardar.
- Una vez que la página se actualice, deberías ver una sección de "Perfiles" cerca de la parte inferior. Haz clic en el botón "Gestionar Perfiles".
- Agrega el perfil con el que te estás conectando, en este ejemplo estamos usando el perfil de Administrador del Sistema.
- Haz clic en Guardar.
- Esto completa la sección de configuración de Salesforce.
Configuración en el servidor de la aplicación
Ahora que hemos creado la aplicación en Salesforce y subido nuestro certificado, necesitamos colocar el archivo de clave en el servidor de la aplicación donde se está ejecutando App Builder, para permitir que App Builder acceda a él.
-
En el servidor de la aplicación o en el servidor de App Builder, crea o utiliza una carpeta existente para colocar el certificado y el archivo de clave que generamos anteriormente. Este ejemplo muestra una carpeta creada llamada JWT.

-
Haz clic derecho en la carpeta donde se encuentran estos archivos y selecciona Propiedades, luego la pestaña Seguridad. Asegúrate de que esta carpeta tenga control total para el grupo de aplicaciones en el que está desplegado App Builder.

-
Esto completa la configuración en el servidor de la aplicación.
Configuración en App Builder
Crear la fuente de datos Salesforce ADO.NET en App Builder
Ahora que hemos creado la aplicación en Salesforce y subido nuestro certificado, podemos proceder a crear la fuente de datos de Salesforce en App Builder.
- Ve a la IDE de App Builder y haz clic en Servidores de Datos
- Haz clic en el botón + Servidor para agregar una nueva fuente de datos
- Asigna un Nombre del Servidor
- Establece el Tipo como Salesforce ADO.NET
-
Haz clic en Guardar. Asegúrate de marcar la casilla Sandbox si te estás conectando a una instancia de sandbox.

-
Después de que la fuente de datos se haya guardado, haz clic en el ícono de maletín de Configuraciones Avanzadas
-
Luego haz clic en Editar y expande la sección Avanzada

-
Configura los siguientes ajustes:
- AuthScheme - OAuthJWT
- OAuthJWTCertType - PEMKEY_FILE
- OAuthJWTCert - Ubicación del archivo de clave que creamos anteriormente, debería estar en una carpeta en algún lugar. Por ejemplo: C:\JWT\myKey.key
- OAuthJWTIssuer - Este es el valor del ID de Cliente que obtuvimos de Salesforce anteriormente.
- OAuthJWTSubject - Este debería ser tu correo electrónico de Salesforce, o el correo electrónico del usuario de Salesforce con el que estamos autenticando.
Nota
Ingrese cada configuración en el campo Avanzado en una sola línea sin espacios, y separe cada configuración con un punto y coma
(;). Aquí hay un ejemplo:
-
Ahora que todo está configurado, desplácese hacia abajo y pruebe la conexión. Si todo se configuró correctamente, recibirá un mensaje de Éxito.
- Ahora puede importar tablas y acceder a datos de Salesforce.