Arquitetura OAuth2

Saiba mais sobre os provedores de autenticação OAuth na Digibee Integration Platform.

OAuth é um protocolo de autorização padronizado amplamente utilizado para permitir que aplicações acessem serviços na internet. Ele permite que uma aplicação de terceiros acesse um serviço (como uma API) com permissões limitadas, em nome do usuário ou por conta própria, sem precisar da senha do usuário.

Para criar integrações que utilizam OAuth, você faz o login em um provedor (como Google, Microsoft, Mercado Livre, Amazon) e recebe um access token e um refresh token. Com esses tokens, é possível acessar os dados dos usuários sem precisar compartilhar suas credenciais.

Requisitos: Criar uma aplicação

Para usar OAuth na Digibee Integration Platform é necessário primeiro criar uma aplicação com um provedor. A Plataforma suporta diversos provedores, inclusive personalizados, mas Google, Microsoft e Mercado Livre são as opções padrão de autenticação da Digibee. Você deve seguir as instruções específicas do provedor escolhido.

Após criar a aplicação, você receberá o ID do cliente e a Chave Privada, as chaves de autenticação OAuth. Essas informações devem ser fornecidas ao criar um novo provedor na Digibee Integration Platform.

Uma vez que a aplicação tenha sido criada, será possível registrar seu novo provedor OAuth seguindo o tutorial de registro dos novos provedores OAuth.

Como funcionam as requisições de token

O fluxo do Google é usado para obter o access token e é válido para todos os provedores que seguem o fluxo de autorização de código OAuth 2.0. Veja o diagrama abaixo:

  1. O primeiro passo é solicitar um token intermediário. Isso ocorre quando o usuário, durante o login, aceita os escopos solicitados e consente com o uso dos seus dados.

  2. Após o consentimento, é gerado um token intermediário, que será usado para retornar o access token e o refresh token.

  3. Com o access token em mãos, é possível fazer requisições aos serviços do provedor.

Qual é o tempo de vida de um token?

O tempo de expiração do access token é definido pela propriedade expires_in. Por exemplo, o valor 7200ms indica que o token expirará em duas horas a partir da geração da resposta.

Com relação aos provedores padrão registrados pela Digibee, temos os seguintes tempos de expiração:

  • Microsoft: 3 meses

  • Google e Mercado Livre: 6 meses

O que é um refresh token?

Um refresh token é uma credencial que permite que uma aplicação obtenha novos access tokens sem que o usuário precise fazer login novamente. Após o vencimento do access token, as aplicações podem utilizar o refresh token para “renovar” o token de acesso.

Após a expiração do refresh token, é necessário realizar um novo login na tela de Contas.

O que fazer se o refresh token não for retornado?

O refresh token pode não ser retornado por diversos motivos. O mais comum é o excesso de logins realizados. Se sua nova conta não foi salva porque o refresh token não foi emitido, será necessário remover o acesso da aplicação OAuth à sua conta de e-mail, seguindo as instruções específicas do seu provedor de login.

Como usar o token no pipeline

Após selecionar a conta OAuth previamente criada no parâmetro Conta de um conector que suporta OAuth (como o REST V2, conector Google Drive e o conector OneDrive), o cabeçalho de autorização será adicionado automaticamente.

Por exemplo:

  1. Posicione o conector desejado no Canvas e abra a ficha de configuração.

  2. Preencha os seguintes campos com as informações necessárias para a requisição utilizando os tokens de acesso gerados:

    • URL do serviço a ser requisitado

    • Headers

    • Parâmetros de consulta (Query parameters)

  3. No campo Conta, selecione a conta que você criou e autenticou com o provedor.

Consulte a documentação para saber como implementar um modelo de integração baseado em OAuth2 na Digibee.

Exemplo de uso

Um cliente deseja acessar dados armazenados no Microsoft OneDrive utilizando o conector OneDrive. Com OAuth, o login na conta Microsoft pode ser feito sem expor a senha do usuário.

Para isso, é necessário utilizar uma conta OAuth 2 do provedor Microsoft, com pelo menos os escopos offline_access (obrigatório) e o escopo relacionado ao recurso desejado.

O provedor Microsoft aceita apenas contas pessoais.

  1. Acesse a página de Contas da Digibee Integration Platform.

  2. Na aba Provedores OAuth, clique em Criar.

  3. Crie um novo provedor selecionando o provedor base Microsoft. Se você não souber como criar um novo provedor, consulte a documentação.

  4. Volte para a página de Contas para criar uma nova conta.

  5. Selecione o tipo de conta oauth-provider e preencha as informações necessárias.

  6. Clique em Salvar.

  7. Ao configurar o conector OneDrive, selecione a conta criada.

Atualizado

Isto foi útil?