Saltar al contenido

Guía de Conexión de Salesforce JWT OAuth

Nota

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

Requisitos Previos

  • Debes tener la versión Vinyl 3.1.32967 o posterior.
  • Debe tener una cuenta de Salesforce con al menos 1 licencia de usuario activa de Salesforce y un ambiente sandbox al que conectarse.

Limitaciones

  • Solo puedes tener una conexión Salesforce JWT por instancia de Vinyl.

Crear un Certificado

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

  1. Descargue e instale OpenSSL

    • OpenSSL es una herramienta con todas las funciones para criptografía y comunicación segura. Puedes descargarlo gratis: https://www.openssl.org/

    • También puedes instalar Git, ya que tiene OpenSSL instalado bajo el capó: https://git-scm.com/

  2. Después de instalar OpenSSL, proceda a crear un certificado y una clave X509.

    • Abra una terminal o línea de comando, ejecute OpenSSL y luego 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 le pedirá que complete detalles como país, nombre común o dirección de Correo. No es necesario que complete toda la información, pero el nombre común es obligatorio.

    Ejemplo de símbolo del sistema del 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 de fácil acceso

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 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 Integración de Vinyl para identificarlo fácilmente, pero puede ser lo que desees.
    • Nombre de API - Deje que Salesforce complete esto según el 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 luego 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 de OAuth seleccionados - Elija "Administrar datos de usuario a través de APIs (api)", "Acceso completo (completo)" y "Realizar solicitudes en cualquier momento (refresh_token, offline_access)
  4. Haga clic en Guardar y luego haga clic en Continuar.
  5. Ahora que se creó la aplicación conectada, debemos 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 del cliente y el secreto del 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 y luego, en la página siguiente, haga clic en el botón "Editar políticas".
  9. En la sección Políticas de OAuth, se cambió el menú desplegable Usuarios permitidos de "Todos los usuarios pueden autoautorizarse" a "Los usuarios aprobados por el administrador tienen autorización previa".
  10. Haga clic en Guardar
  11. Una vez que la página se actualice, debería ver una sección "Perfiles" cerca de la parte inferior. Haga clic en el botón "Administrar perfiles".
  12. Agregue el perfil al 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 le hemos cargado nuestro certificado, debemos colocar el archivo clave en el servidor de la aplicación en el que se ejecuta Vinyl para permitir que Vinyl acceda a él.

  1. En la aplicación o servidor Vinyl, cree o utilice una carpeta existente para colocar el certificado y el archivo de clave que generamos anteriormente. Este ejemplo muestra una carpeta creada llamada JWT.

    jwt_folder.png

  2. Haga clic derecho en la carpeta en la que 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 en el que se implementa Vinyl.

    jwt_properties.png

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

Configuración en Vinyl

Cree la Fuente de Datos ADO.NET de Salesforce en Vinyl

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

  1. Vaya a Vinyl IDE y haga clic en Servidores de datos
  2. Haga clic en el botón + Servidor para agregar una nueva fuente de datos.
  3. Asigne 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. Después de guardar la fuente de datos, haga clic en el ícono del maletín Configuración avanzada

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

    serveradvanced.png

  8. Configure los siguientes ajustes:

    • AuthScheme - OAuthJWT
    • OAuthJWTCertType - PEMKEY_FILE
    • OAuthJWTCert -La ubicación del archivo 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 encadenadas en una línea sin espacios y separe cada configuración con un punto y coma (;). Aquí hay un ejemplo:

    configuración avanzada.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 puede importar tablas y acceder a datos desde Salesforce