Componente OAuth 2.0 de 3 etapas do Jitterbit Connector SDK
Visão Geral
O componente OAuth 2.0 de 3 etapas (3LO) é necessário para suportar 3LO em um conector. Ele permite o uso de autenticação 3LO com aplicativos (nuvem e privados) registrados no Harmony. Para mais informações sobre 3LO, consulte Conector OAuth 2.0 de 3 etapas.
O componente 3LO é projetado para configuração de endpoint do conector e deve ser adicionado ao endpoint
no adapter.json apenas. Quando implementado, é assim que o componente 3LO aparece quando os elementos associados estão visíveis:
Importante
Se estiver usando um agente privado, conectores habilitados para 3LO requerem versão do agente 10.83 / 11.21 ou posterior.
Recursos do Componente
O componente 3LO inclui definições para tipos de autenticação e um botão de login:
-
Dropdown de Tipo de Autenticação: Os usuários selecionam de uma lista de tipos de autenticação definidos pelo desenvolvedor. No mínimo, é necessária uma definição
enumValues
com1
como seurealValue
.1
sempre representará autenticação 3LO. -
Dropdown de Aplicativo OAuth: Os usuários selecionam de uma lista de Aplicativos em Nuvem e Aplicativos Privados associados gerados pelo Integration Studio. Este elemento de UI será exibido no Integration Studio quando houver um aplicativo privado associado ao conector habilitado para 3LO. Este é o dropdown quando visível e expandido:
Importante
Aplicações privadas podem ser definidas e modificadas livremente na página Registros de Aplicativos do Console de Gerenciamento. Parceiros da Jitterbit podem ser capazes de configurar aplicações em nuvem trabalhando diretamente com a Jitterbit.
-
Botão de login: Os usuários clicam para autenticar com um provedor OAuth de terceiros.
JSON do Componente
O componente 3LO é implementado adicionando duas propriedades ao endpoint
no adapter.json. Ambas são necessárias para que o 3LO funcione conforme o esperado com um 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
}
Dica
Se o 3LO for o único tipo de autenticação planejado para o conector, você pode ocultar o dropdown na interface do usuário usando hidden
, desde que defaultValue
seja 1
:
{
"name": "3lo_auth_type",
"hidden": true,
"displayName": "Authentication Type",
"enumValues": [
{
"enumValue": "3LO",
"realValue": "1"
}
],
"defaultValue": "1"
}
Para definir tipos de autenticação adicionais além do 3LO, forneça-os como definições adicionais de enumValues
começando com 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 um conector habilitado para 3LO funcione conforme o esperado, uma aplicação (em nuvem ou privada) deve estar associada ao conector habilitado para 3LO.
Aplicações privadas podem ser definidas e modificadas livremente na página Registros de Aplicativos do Console de Gerenciamento. Parceiros da Jitterbit podem ser capazes de configurar aplicações em nuvem trabalhando diretamente com a Jitterbit.
Valores do componente
Durante a configuração do conector e em tempo de execução, o agente irá injetar automaticamente o access_token
como parte dos parâmetros props
(propriedades) nos métodos do SDK do Conector.
Por exemplo, na ConnectionFactory
, a propriedade access_token
fará parte de props
no método createConnection
:
@Override
public Connection createConnection(Map<String, String> props) {
// The props parameter contains "access_token" as a key-value pair.
}
Tratamento de exceções
Conectores habilitados para 3LO devem lançar uma exceção ConnectionException
se a chamada HTTP usando access_token
retornar um Código de Status Não Autorizado (HttpStatusCode 401
).
A exceção fará com que o agente atualize o valor do access_token
e execute um processo de nova tentativa entre o agente e o conector. Por exemplo:
Importante
Os conectores não devem gerenciar manualmente o processo de atualização do access_token
, pois isso já é tratado pelo agente.
public void exampleMethod() throws Connection.ConnectionException {
try {
// Method implementation...
} catch (Exception ex) {
throw new Connection.ConnectionException(Param1, Param2, Param3);
}
}
Configuração de registro de aplicativo
Após o conector habilitado para 3LO ser implantado, ele se tornará uma opção de dropdown Conector no Console de Gerenciamento Registros de Aplicativos.
Pré-requisitos
Antes de configurar um aplicativo com o conector habilitado para 3LO, complete estes pré-requisitos:
- Se estiver usando um Agente Privado, instale o conector habilitado para 3LO no agente.
- Crie o aplicativo OAuth no provedor OAuth de terceiros relevante. Isso fornecerá as informações necessárias para os próximos passos, como os valores de Client ID e Client Secret. Por exemplo, se você estivesse desenvolvendo um conector Jira, precisaria criar primeiro um aplicativo OAuth associado no Portal Atlassian.
Configuração
Consulte nossa documentação na página do Console de Gerenciamento Registros de Aplicativos para fornecer as informações relevantes para um novo aplicativo privado, incluindo quaisquer Opções Avançadas relevantes com base nos requisitos ou configurações do provedor de terceiros escolhido.