Saltar al contenido

Componente OAuth 2.0 de 3 patas del SDK del Conector Jitterbit

Descripción general

El componente OAuth 2.0 de 3 patas (3LO) es necesario para soportar 3LO en un conector. Permite el uso de autenticación 3LO con aplicaciones (en la nube y privadas) registradas en Harmony. Para más información sobre 3LO, consulte Conector OAuth 2.0 de 3 patas.

El componente 3LO está diseñado para la configuración del punto final del conector y debe ser agregado al endpoint en el adapter.json únicamente. Cuando se implementa, así es como aparece el componente 3LO cuando los elementos asociados son visibles:

Componente de Autenticación 3LO

Importante

Si se utiliza un agente privado, los conectores habilitados para 3LO requieren la versión del agente 10.83 / 11.21 o posterior.

Características del componente

El componente 3LO incluye definiciones para tipos de autenticación y un botón de inicio de sesión:

  • Desplegable de Tipo de Autenticación: Los usuarios seleccionan de una lista de tipos de autenticación definidos por el desarrollador. Como mínimo, se requiere una definición de enumValues con 1 como su realValue. 1 siempre representará la autenticación 3LO.

    Desplegable de Tipo 3LO

  • Desplegable de Aplicación OAuth: Los usuarios seleccionan de una lista de Aplicaciones en la Nube y Aplicaciones Privadas asociadas generadas por Integration Studio. Este elemento de la interfaz de usuario se mostrará en Integration Studio cuando haya una aplicación privada asociada con el conector habilitado para 3LO. Este es el desplegable cuando es visible y está expandido:

    Desplegable de Aplicación 3LO

    Importante

    Las aplicaciones privadas se pueden definir y modificar libremente en la página de Registros de Aplicaciones de la Consola de Administración. Los socios de Jitterbit pueden configurar aplicaciones en la nube trabajando directamente con Jitterbit.

  • Botón de inicio de sesión: Los usuarios hacen clic para autenticarse con un proveedor de OAuth de terceros.

    Botón de Inicio de Sesión 3LO

Componente JSON

El componente 3LO se implementa añadiendo dos propiedades al endpoint en el adapter.json. Ambas son necesarias para que 3LO funcione como se espera con un conector.

Habilitación de 3LO y Tipo de Autenticación Requerido
{
    "name": "3lo_auth_type", // Required
    "displayName": "{{To Be Replaced}}", // Authentication Type dropdown name
    "enumValues": [
        {
            "enumValue": "3LO",
            "realValue": "1" // Required
        }
    ]
}
Botón de Inicio de Sesión 3LO
{
    "name": "oauth_login", // Required
    "displayName": "Log in with {{To Be Replaced}}", // Login button name
    "widgetHint": "component:oauth-login", // Required
}

Consejo

Si 3LO es el único tipo de autenticación planeado para el conector, puedes ocultar el menú desplegable en la interfaz de usuario usando hidden siempre que defaultValue sea 1:

{
    "name": "3lo_auth_type",
    "hidden": true,
    "displayName": "Authentication Type",
    "enumValues": [
        {
            "enumValue": "3LO",
            "realValue": "1"
        }
    ],
    "defaultValue": "1"
}

Para definir tipos de autenticación adicionales más allá de 3LO, proporciónalos como definiciones adicionales de enumValues comenzando con 2 para realValue:

{
    "name": "3lo_auth_type",
    "displayName": "Authentication Type",
    "enumValues": [
        {
            "enumValue": "Token-based Auth",
            "realValue": "2"
        },
        {
            "enumValue": "3LO",
            "realValue": "1"
        }
    ],
    "defaultValue": "2"
}

Importante

Para que un conector habilitado para 3LO funcione como se espera, debe asociarse una aplicación (en la nube o privada) con el conector habilitado para 3LO.

Las aplicaciones privadas se pueden definir y modificar libremente en la página de Registros de Aplicaciones de la Consola de Administración. Los socios de Jitterbit pueden configurar aplicaciones en la nube trabajando directamente con Jitterbit.

Valores de componente

Durante la configuración del conector y en tiempo de ejecución, el agente inyectará automáticamente access_token como parte de los parámetros props (propiedades) a los métodos del SDK del conector.

Por ejemplo, en el ConnectionFactory, la propiedad access_token será parte de props en el método createConnection:

@Override
public Connection createConnection(Map<String, String> props) {
  // The props parameter contains "access_token" as a key-value pair.
}

Manejo de excepciones

Los conectores habilitados para 3LO deben lanzar una excepción ConnectionException si la llamada HTTP utilizando access_token devuelve un código de estado no autorizado (HttpStatusCode 401).

La excepción hará que el agente actualice el valor de access_token y ejecute un proceso de reintento entre el agente y el conector. Por ejemplo:

Importante

Los conectores no deben manejar manualmente el proceso de actualización de access_token porque ya es gestionado por el agente.

public void exampleMethod() throws Connection.ConnectionException {
  try {
    // Method implementation...
  } catch (Exception ex) {
    throw new Connection.ConnectionException(Param1, Param2, Param3);
  }
}

Configuración de registro de aplicaciones

Después de que el conector habilitado para 3LO se despliegue, se convertirá en una opción de menú desplegable Conector en la Consola de Administración Registros de Aplicaciones.

Requisitos previos

Antes de configurar una aplicación con el conector habilitado para 3LO, complete estos requisitos previos:

  • Si utiliza un Agente Privado, instale el conector habilitado para 3LO en el agente.
  • Cree la aplicación OAuth en el proveedor de OAuth de terceros relevante. Esto proporcionará la información necesaria para los siguientes pasos, como los valores de Client ID y Client Secret. Por ejemplo, si estuviera desarrollando un conector de Jira, primero necesitaría crear una aplicación OAuth asociada en el Portal de Atlassian.

Configuración

Consulte nuestra documentación en la Consola de Administración Registros de Aplicaciones para proporcionar la información relevante allí para una nueva aplicación privada, incluyendo cualquier Opciones Avanzadas relevantes según los requisitos o configuraciones del proveedor de terceros elegido.