Fluxo de código de autorização OAuth

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.

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, especialmente em ambientes onde é difícil armazenar segredos de clientes com segurança, como aplicativos 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 de Criar a conexão de OAuth.
  2. Selecione o tipo de concessão como 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 do emissor do token. Isso aumenta a segurança porque o tipo de concessão oferece suporte a tokens de atualização para acesso de longa duração sem expor credenciais confidenciais. Revise as seguintes permissões ao usar Fluxo de código de autorização com o pacote do Microsoft 365 Outlook: Consulte Permissões para o aplicativo.
    • Mail.Read
    • Mail.ReadWrite
    • Mail.Send
    • MailboxSettings.Read
    • MailboxSettings.ReadWrite
    • offline_access
    • openid
    • User.Read
    • User.ReadBasic.All
    É obrigatório usar o método de autenticação Client Secret Post em paralelo com o tipo de concessão Fluxo do código de autorização com PKCE, caso contrário, você receberá um erro de validação.
  3. Conclua as etapas 8 a 18 de Criar a conexão de OAuth.