Saltar al contenido

Guía de Conexión JWT OAuth de Salesforce

Nota

Esta guía de conexión es el proceso recomendado para la autenticación de la cuenta de servicio entre App Builder y Salesforce. Consulte Proveedor de seguridad: Salesforce /OpenID Connect artículo si desea configurar la autenticación de cuenta a nivel de usuario.

Prerrequisitos

  • Debe tener una cuenta de Salesforce con al menos 1 licencia de usuario de Salesforce activa y un ambiente sandbox al cual conectarse.

Limitaciones

  • Solo puede tener una conexión JWT de Salesforce por App Builder instancia.

Creando un Certificado

Salesforce solo acepta JWT firmados con RSA SHA256, por lo que necesita un certificado x509 y su clave privada asociada.

  1. Descargue e instale 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 debajo: https://git-scm.com/

  2. Una vez instalado OpenSSL, proceda a crear un certificado y una clave X509

    • Abra una terminal o una línea de comandos, ejecute OpenSSL y, a continuación, ejecute el siguiente comando para crear un certificado y un archivo de clave:

      req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout myKey.key -out myCertificate.crt
      
    • Se te solicitará que completes detalles como el país, el nombre común o la dirección de Correo. No es necesario que completes toda la información, pero el nombre común es obligatorio.

    Ejemplo de símbolo del sistema de administrador

  3. Después de ejecutar el comando anterior, debería encontrar dos archivos creados

    Ejemplo de los archivos generados

Nota

Asegúrese de anotar o copiar los archivos de certificado y clave en una ubicación a la que se pueda acceder fácilmente

Configuración en Salesforce

Ahora que tenemos nuestro certificado, necesitamos crear una aplicación conectada en Salesforce.

Crear una Aplicación OAuth Personalizada

  1. Inicie sesión en Salesforce o en su ambiente sandbox de Salesforce
  2. Desde la página de inicio, vaya a Herramientas de la plataforma > Aplicaciones > Administrador de aplicaciones
  3. Haga clic en el botón Nueva aplicación conectada e ingrese lo siguiente:
    • Nombre de la aplicación conectada: el nombre debe contener el nombre del sistema y la integración, como App Builder integración para identificarlo fácilmente, pero puede ser lo que desees
    • Nombre de API - Deje que Salesforce complete esto en función del nombre de la aplicación conectada
    • Correo de contacto - Cualquier correo que desee
    • Habilitar configuración de OAuth - Marque esta casilla de verificación y aparecerán las siguientes configuraciones
    • URL de devolución de llamada - sfdc://oauth/jwt/success
    • Usar firmas digitales - Marque esta casilla de verificación y luego cargue el archivo myCertificate.crt que creamos anteriormente
    • Ámbitos OAuth seleccionados - Elija "Administrar datos de usuario a través de APIs (api)", "Acceso completo (full)" y "Realizar solicitudes en cualquier momento (refresh_token, offline_access)"
  4. Haga clic en Guardar y luego en Continuar
  5. Ahora que se creó la aplicación conectada, necesitamos copiar el ID de cliente y el Secreto de cliente para esta aplicación.
  6. En la página principal de la aplicación conectada, haga clic en el botón titulado "Administrar detalles del consumidor". Esto debería abrir una nueva página después de completar un mensaje de seguridad, que contiene el ID de cliente y el secreto de cliente para la aplicación. Tome nota de esto, ya que lo necesitaremos más adelante.
  7. A continuación, debemos ajustar la configuración de la aplicación conectada para aprobar previamente a nuestro usuario.
  8. En la página de la aplicación conectada, haga clic en el botón "Administrar" en la parte superior de la pantalla, luego, en la página siguiente, haga clic en el botón "Editar políticas".
  9. En la sección Políticas de OAuth, modifique el menú desplegable Usuarios permitidos de "Todos los usuarios pueden auto-autorizarse" a "Los usuarios aprobados por el administrador están pre-autorizados".
  10. Haga clic en Guardar
  11. Una vez que se actualice la página, deberías ver una sección "Perfiles" cerca de la parte inferior. Haz clic en el botón "Administrar perfiles".
  12. Agregue el perfil con el que se está conectando, en este ejemplo estamos usando el perfil Administrador del sistema
  13. Haga clic en Guardar
  14. Esto completa la sección de configuración de Salesforce.

Configuración en el Servidor de Aplicaciones

Ahora que hemos creado la aplicación en Salesforce y cargado nuestro Certificado en ella, necesitamos colocar el archivo de clave en el servidor de aplicaciones que App Builder se está ejecutando, para permitir App Builder para acceder a ella.

  1. En la aplicación o App Builder servidor, crea o utiliza una carpeta existente para colocar el certificado y el archivo de clave que generamos anteriormente. Este ejemplo muestra una carpeta creada con el nombre JWT.

    JWT_folder.png

  2. Haga clic con el botón derecho en la carpeta donde se encuentran estos archivos y haga clic en Propiedades y luego en la pestaña Seguridad. Asegúrese de que esta carpeta tenga control total sobre el grupo de aplicaciones que App Builder se implementa en.

    JWT_properties.png

  3. Esto completa la configuración en el servidor de aplicaciones.

Configuración en App Builder

Cree la Fuente de Datos ADO.NET de Salesforce en App Builder

Ahora que hemos creado la aplicación en Salesforce y cargado nuestro certificado en ella, podemos proceder a crear la fuente de datos de Salesforce en App Builder.

  1. Vaya a App Builder IDE y haga clic en Servidores de datos
  2. Haga clic en el botón + Servidor para agregar una nueva fuente de datos
  3. Asignar un Nombre de servidor
  4. Establezca el Tipo como Salesforce ADO.NET
  5. Haga clic en Guardar. Asegúrese de marcar la casilla Sandbox si se está conectando a una instancia de sandbox.

    JWT_server.png

  6. Una vez guardada la fuente de datos, haga clic en el ícono de maletín Configuración avanzada

  7. Luego, haga clic en Editar y expanda la sección Avanzada

    serveradvanced.png

  8. Configure los siguientes ajustes:

    • Esquema de autenticación - OAuthJWT
    • OAuthJWTCertType - ARCHIVO PEMKEY
    • OAuthJWTCert - La ubicación del archivo de clave que creamos anteriormente debe estar en una carpeta en algún lugar. Por ejemplo: C:\JWT\myKey.key
    • OAuthJWTIssuer: este es el valor de ID de cliente que obtuvimos de Salesforce anteriormente.
    • OAuthJWTSubject - Este debe ser su correo de Salesforce o el correo del usuario de Salesforce con el que nos 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 (;) A continuación se muestra un ejemplo:

    advancedsettings.png

  9. Ahora que todo está configurado, desplácese hacia abajo y pruebe la conexión. Si todo se configuró correctamente, recibirá un mensaje de Éxito.

  10. Ahora puedes importar tablas y acceder a datos desde Salesforce