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:
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
con1
como surealValue
.1
siempre representará la autenticación 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:
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.
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.
{
"name": "3lo_auth_type", // Required
"displayName": "{{To Be Replaced}}", // Authentication Type dropdown name
"enumValues": [
{
"enumValue": "3LO",
"realValue": "1" // Required
}
]
}
{
"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.