Ir para o conteúdo

Transforme as suas conexões em um bônus de fim de ano com o nosso novo Programa de Indicação de Clientes! Saiba mais

Esta documentação é para a versão 4 e posterior do App Builder, o novo nome do Vinyl. Acesse a documentação do Vinyl aqui.

Autenticação de cliente no Jitterbit App Builder

O App Builder pode operar como um servidor de autorização OpenID Connect (OIDC). O servidor de autorização permite que aplicativos clientes, incluindo outras instâncias do App Builder, autentiquem usuários. O processo de login do OIDC produz um token de acesso que permite que o aplicativo cliente acesse recursos protegidos em nome do usuário. Os recursos protegidos incluem APIs REST e Webhook hospedadas App Builder, bem como fontes de dados do App Builder Connector.

Suporte de protocolo

O protocolo OIDC é definido pelo padrão OpenID Connect Core 1.0. OIDC é uma camada de identidade construída sobre a estrutura de autorização OAuth 2.0, que é definida por RFC-6749. Juntos, esses padrões descrevem:

  • Fluxos - Um fluxo é um processo pelo qual o cliente recupera tokens de identidade e acesso. Por esse motivo, os fluxos também são chamados de concessões.
  • Endpoints - Cada fluxo envolve uma ou mais solicitações HTTP para URLs conhecidas.
  • Escopos - Os aplicativos cliente podem solicitar um ou mais escopos. Os escopos determinam quais tokens são emitidos (identidade, atualização), o que está incluído nesses tokens (reivindicações) e quais APIs podem ser acessadas com esses tokens.
  • Reivindicações - Conforme descrito pelo padrão, o token de identidade é fundamentalmente um JSON Web Token (JWT). JWTs são baseados em declarações. O escopo solicitado determina quais declarações são incluídas no token de identidade.

Fluxos suportados

O servidor de autorização do App Builder oferece suporte aos seguintes fluxos básicos do OAuth 2.0:

  • Código de Autorização. O fluxo do Código de Autorização permite que o cliente adquira um token de acesso, que permite que o cliente acesse recursos protegidos em nome do usuário. O fluxo do Código de Autorização é um fluxo interativo: um usuário deve estar presente para iniciar o fluxo do Código de Autorização.
  • Credenciais do Cliente. O fluxo de Credenciais do Cliente permite que o aplicativo cliente adquira um token de acesso em seu próprio nome. Este é um fluxo de servidor para servidor, normalmente operando como uma conta de serviço.
  • Refresh Token. O fluxo Refresh Token permite que o cliente solicite um novo token de acesso quando o token atual tiver expirado. Isso às vezes é chamado de "acesso offline". O fluxo refresh token pode ser usado em combinação com os fluxos Authorization Code ou Client Credentials. O escopo offline_access habilita o fluxo Refresh Token (veja abaixo).

Conforme observado acima, o OIDC é construído na estrutura de autorização do OAuth 2.0. O OIDC aproveita os fluxos do OAuth 2.0, usando o parâmetro scope para optar pela funcionalidade específica do OIDC. O servidor de autorização do App Builder oferece suporte aos seguintes fluxos do OIDC:

  • Código de Autorização. Quando o escopo openid é especificado, o fluxo do Código de Autorização permite que o cliente autentique um usuário retornando um token de identidade adicional. Escopos adicionais determinam quais declarações são incluídas no token.
  • Refresh Token. O fluxo do Refresh Token opera da mesma forma no OIDC como no OAuth 2.0.

O servidor de autorização não suporta os fluxos OIDC Implicit ou Hybrid. O fluxo OAuth 2.0 Client Credentials não é um fluxo OIDC.

O fluxo do Código de Autorização pode ser usado com ou sem a extensão Proof Key for Code Exchange (PKCE), conforme definido por RFC-7636.

Endpoints suportados

O servidor de autorização do App Builder publica os seguintes endpoints:

Endpoint Padrão Descrição
/conectar/autorizar RFC-6749 Emite um código de autorização.
/conectar/token RFC-6749 Emite um token de acesso.
/conectar/introspecção RFC-7662 Introspecção do token de acesso.
/connect/userinfo Núcleo OIDC Introspecção de token de identidade.
/.well-known/openid-configuration Descoberta OIDC Configuração do provedor OpenID Connect.

Escopos suportados

O servidor de autorização do App Builder oferece suporte aos seguintes escopos:

Âmbito Descrição
openid Emite um token de identidade OIDC.
profile Inclui declarações de perfil de usuário no token de identidade.
* email* Inclui declarações de endereço de email no token de identidade.
telefone Inclui declarações de número de telefone no token de identidade.
offline_access Emite um token de atualização para uso no fluxo de Token de Atualização.
* Não disponível para clientes públicos
api Autoriza acesso às APIs REST, Webhook e App Builder Connector hospedadas pelo App App Builder.

Reivindicações suportadas

Conforme observado acima, o token de identidade é um token JWT baseado em declarações. O cliente pode determinar quais declarações são incluídas no token de identidade especificando escopos.

Escopo Declarações
identificação aberta sub
perfil nome, apelido, localidade e zoneinfo
* email* * email* e email_verified
telefone número_de_telefone e número_de_telefone_verificado

Para uma descrição de cada uma dessas reivindicações, veja a seção 5.1 Reivindicações Padrão do padrão OIDC. Qualquer reivindicação padrão não listada explicitamente acima não é suportada.

Configuração

Para usar o servidor de autorização, o administrador do App Builder deve primeiro:

  1. Habilite o servidor de autorização.
  2. Registre um aplicativo cliente.
  3. Configure o aplicativo cliente.

Habilitar o servidor de autorização

Para habilitar o servidor de autorização, comece entrando no App Builder como administrador:

  1. Clique no link IDE.
  2. Clique no botão Provedores de segurança.
  3. No painel Autenticação do usuário, localize o provedor de segurança Servidor de autorização e clique no ícone Detalhes (Chevron).
  4. Clique no botão Editar.
  5. Marque a opção Ativado.
  6. Clique no botão Salvar.

Registrar um aplicativo cliente

Cada aplicativo cliente que pretende autenticar usuários ou acessar recursos protegidos deve ser registrado. Para registrar um aplicativo cliente, comece entrando no App Builder como administrador e siga estas etapas:

  1. Clique no link IDE.
  2. Clique no botão Gerenciamento de usuários.
  3. Clique no botão Clientes.
  4. Clique no botão +Cliente para registrar um novo aplicativo cliente.
  5. Forneça o seguinte:

    • Nome: Um nome descritivo e amigável para o aplicativo cliente.
    • Descrição: Uma descrição opcional.
    • Usuário: Selecione a conta de usuário do serviço. Obrigatório para o fluxo de Credenciais do Cliente. Caso contrário, deixe em branco.
    • Provedor de autenticação: Selecione um provedor ou deixe em branco.
    • Habilitado: Habilita ou desabilita o aplicativo cliente.
  6. Clique no botão Salvar.

  7. (Opcional) Clique Mais, então Avançado. A caixa de diálogo Configurações avançadas é aberta. Ela contém duas guias:

    • Propriedades: Defina as seguintes configurações, conforme necessário:

      • Requer PKCE: Quando selecionado, o cliente deve usar a extensão PKCE. Isso se aplica apenas ao fluxo do Código de autorização e é necessário para clientes públicos.

      • Público: Quando selecionado, o cliente é público e os segredos não podem ser armazenados com segurança. Quando desmarcado, o cliente é confidencial e pode armazenar segredos com segurança.

    • Vida útil do token: Insira valores para os seguintes campos, conforme necessário:

      • Token de acesso: Tempo de expiração do token de acesso, em minutos. Padrão: 60.

      • Token de atualização: Tempo de expiração do token de atualização, em minutos. Padrão: 20160 (14 dias).

      • Token de identidade: Tempo de expiração do token de identidade, em minutos. Padrão: 20.

      • Código de autorização: Tempo de expiração do código de autorização, em minutos. Padrão: 5.

Gerar um segredo do cliente

O aplicativo cliente deve fornecer suas próprias credenciais ao solicitar um token de acesso. As credenciais do cliente consistem no ID do cliente e em um segredo do cliente. Os segredos do cliente só podem ser gerados para clientes confidenciais. O painel Segredos ficará oculto para clientes públicos.

Para gerar um segredo do cliente:

  1. No painel Segredos, clique no botão +Segredo.
  2. Forneça o seguinte:

    • Descrição: Descrição opcional do segredo do cliente.
    • Expira em: Se o segredo expirar, defina a data e a hora de expiração. Caso contrário, deixe este campo em branco.
  3. Clique no botão Salvar.

  4. Copie o ID do cliente e o Segredo do cliente.

AVISO: Este é o único momento em que o segredo ficará visível.

Registrar URI de redirecionamento do cliente

Conforme observado acima, o fluxo do Código de Autorização é um fluxo interativo. Durante esse fluxo, o usuário é redirecionado para o endpoint de autorização. Depois que o usuário é autenticado, ele é redirecionado de volta para o aplicativo cliente.

O URL de retorno de chamada do aplicativo cliente é chamado de "URI de redirecionamento". Cada URI de redirecionamento deve ser registrado. Os URIs de redirecionamento do cliente devem aderir às seguintes restrições:

  • O URL de redirecionamento do cliente deve ser um URL absoluto.
  • A URL de redirecionamento do cliente deve usar o protocolo HTTPS. No entanto, a URL de redirecionamento do cliente pode usar o protocolo HTTP ao redirecionar para localhost.
  • O URL de redirecionamento do cliente pode conter uma string de consultar.
  • O URL de redirecionamento do cliente não deve conter um fragmento.

Para registrar um URI de redirecionamento de cliente:

  1. No painel Redirecionamentos, clique no botão + URL.
  2. Forneça o URL.
  3. Clique no botão Salvar.

Configurar o aplicativo cliente

Qualquer aplicativo cliente OIDC ou OAuth 2.0 compatível com os padrões que suporta os fluxos Authorization Code ou Client Credentials pode utilizar o servidor de autorização do App Builder. Isso inclui o próprio App Builder : é possível configurar uma segunda instância do App Builder como um cliente.

Para configurar o cliente do App Builder, você precisará:

  • URL raiz do servidor de autorização do App Builder, por exemplo https://example.com/App Builder.
  • ID do cliente e segredo (veja acima)

Comece efetuando login na instância do cliente do App Builder como administrador:

  1. Clique no link IDE.
  2. Clique no botão Provedores de segurança.
  3. No painel Autenticação do Usuário, clique no botão +Autenticação do Usuário.
  4. Forneça o seguinte:

    • Nome: Nome do provedor de segurança, por exemplo App Builder.
    • Tipo: * App Builder / OpenID Connect*
    • Mostrar no formulário de login: marque esta opção para exibir a opção de login no formulário de login.
    • Provisionamento de usuários: marque esta opção para habilitar o provisionamento de usuários.
  5. Clique no botão Salvar.

  6. No painel Endpoints, clique no botão + Endpoint.
  7. Forneça o seguinte:

    • Tipo de Endpoint: Emissor OpenID Connect
    • URL. A URL raiz do servidor de autorização do App Builder.
  8. Clique no botão Salvar.

  9. No painel Credenciais, clique no botão +Credencial.
  10. Forneça o seguinte:

    • Tipo: Cliente
    • Nome de usuário: O ID do cliente (veja acima).
    • Senha: O segredo do cliente (veja acima).
  11. Clique no botão Salvar.

  12. No painel Provedor, clique no botão Editar.
  13. Marque a opção Ativado.
  14. Clique no botão Salvar.

Após a conclusão, os usuários poderão fazer login na instância do cliente do App Builder usando o servidor de autorização do App Builder.

Limitações conhecidas

O servidor de autorização do App Builder não oferece suporte ao seguinte

  • Consentimento do usuário.
  • Fluxos implícitos ou híbridos OIDC