Fluxo de código de autorização

O Fluxo de código de autorização é um protocolo de segurança usado no OAuth 2.0 para permitir que aplicativos de terceiros acessem os recursos de um usuário sem expor as credenciais.

Nesse fluxo, o aplicativo cliente redireciona o usuário para o servidor de autorização, onde ele efetua login e aprova a solicitação de acesso do cliente. Após a aprovação, o servidor de autorização envia um código de autorização ao cliente, que ele troca por um token de acesso e, por opção, por um token de atualização. Esse token de acesso é então usado para fazer solicitações autorizadas ao servidor de recursos em nome do usuário.

Em geral, os usuários encontram o fluxo de código de autorização quando são solicitados a fazer login em um aplicativo ou serviço de terceiros usando as credenciais de outra plataforma, como fazer login em um site com a conta do Google ou do Facebook. Esse fluxo é, em geral, usado em cenários em que um utilizador pretende conceder acesso aos recursos (como dados ou serviços) a um aplicativo de terceiros sem compartilhar de forma direta as credenciais.

A principal diferença entre o Fluxo de código de autorização e o Fluxo de código de autorização com PKCE (Proof Key for Code Exchange, chave de prova para troca de código) está nos mecanismos de segurança utilizados para prevenir determinados ataques, sobretudo contra aplicativos de dispositivos móveis e nativos.

No fluxo de código de autorização padrão, o cliente recebe um código de autorização após o usuário se autenticar no servidor de autorização. O cliente então troca esse código por um token de acesso. Entretanto, esse fluxo é vulnerável a ataques de interceptação de código de autorização, onde um invasor pode interceptar o código de autorização e usá-lo para obter um token de acesso.

O Fluxo de código de autorização com PKCE adiciona uma camada adicional de segurança usando um segredo gerado de forma dinâmica, o verificador de código, para autenticar a solicitação de autorização. Isso o torna mais seguro, sobretudo em ambientes em que é difícil armazenar com segurança os segredos do cliente, como aplicativos de dispositivos móveis ou nativos.

Para criar um tipo de concessão usando Fluxo de código de autorização:

Procedimento

  1. Conclua as etapas 1 a 6 da seção Criar conexão OAuth.
  2. Selecione o tipo de concessão como Fluxo de credenciais do cliente.

    Selecione Fluxo de código de autorização ou Fluxo de código de autorização com PKCE para separar a autenticação do usuário da emissão de token, aumentando a segurança, pois eles concedem suporte ao tipo de tokens de atualização para acesso de longa duração sem expor credenciais confidenciais.

  3. Conclua as etapas 8 a 18 da seção Criar conexão OAuth.