0Pricing
Cryptology Academy · Aula

Fluxos do OAuth 2.0 e Tipos de Tokens

Compare os fluxos de código de autorização, implícito, credenciais do cliente e dispositivo — e saiba quando usar cada um.

Fluxos do OAuth 2.0 e Tipos de Tokens é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.

Funções principais do OAuth 2.0

O OAuth 2.0 define quatro funções. O proprietário do recurso é o usuário que possui os dados, como seus arquivos do Google Drive. O cliente é o aplicativo que solicita acesso. O servidor de autorização emite tokens de acesso, como o servidor OAuth do Google. O servidor de recursos hospeda os dados protegidos, como a API do Google Drive. Compreender essas funções esclarece o propósito de cada fluxo.

Fluxo do código de autorização

O fluxo do código de autorização é o fluxo correto para aplicativos da web no lado do servidor. O usuário se autentica no servidor de autorização, que redireciona para o cliente com um código de autorização de curta duração. O servidor do cliente troca esse código por tokens por meio de uma solicitação em um canal secundário. Os tokens nunca passam pelo navegador, o que os protege contra vazamentos no histórico do navegador e no referenciador.

Fluxo implícito: obsoleto

O fluxo implícito foi criado para aplicativos JavaScript executados somente no navegador que não podiam armazenar segredos do cliente com segurança. Os tokens eram retornados diretamente no fragmento da URL, ignorando o canal secundário. O fluxo implícito está obsoleto no OAuth 2.1 porque o PKCE (RFC 7636) permite que clientes públicos usem o fluxo do código de autorização com segurança, sem um segredo do cliente.

Credenciais de senha do proprietário do recurso

O fluxo ROPC permite que os clientes coletem diretamente o nome de usuário e a senha do usuário e os troquem por tokens. Ele foi concebido para clientes próprios altamente confiáveis, mas contradiz fundamentalmente o objetivo do OAuth de impedir que os aplicativos vejam as credenciais dos usuários. Ele está obsoleto no OAuth 2.1 e não deve ser usado em nenhum aplicativo novo.

Fluxo de credenciais do cliente

O fluxo de credenciais do cliente é destinado à autenticação máquina a máquina (M2M), quando nenhum usuário está envolvido. O cliente se autentica diretamente no servidor de autorização usando o ID e o segredo do cliente e recebe um token de acesso para uso próprio. Casos de uso comuns: tarefas em segundo plano, comunicação entre microsserviços e gateways de API acessando serviços de backend.

Fluxo de autorização do dispositivo

O fluxo de autorização do dispositivo (RFC 8628) permite usar OAuth em dispositivos com capacidades de entrada limitadas: televisores inteligentes, consoles de jogos, impressoras e dispositivos de IoT. O dispositivo exibe um código curto e uma URL. O usuário acessa a URL em um telefone ou computador para autorizar. O dispositivo consulta repetidamente o servidor de autorização até que o usuário conclua a autorização.

Tipos de tokens de acesso

O OAuth 2.0 define dois tipos de tokens de acesso. Tokens opacos são sequências aleatórias que o servidor de recursos valida chamando o ponto de acesso de introspecção do servidor de autorização. Tokens de acesso JWT são autocontidos: o servidor de recursos pode validá-los localmente verificando a assinatura, reduzindo as chamadas à API de introspecção, mas exigindo gerenciamento de chaves.

Tokens de atualização e rotação

Tokens de atualização são credenciais de longa duração usadas para obter novos tokens de acesso depois que o token de acesso expira. A rotação de tokens de atualização, obrigatória no OAuth 2.1 para clientes públicos, emite um novo token de atualização a cada uso e invalida o anterior. Se um token de atualização roubado for usado, o cliente legítimo detectará a invalidação, permitindo detectar o roubo do token.

Introspecção de tokens

O RFC 7662 define o ponto de acesso de introspecção de tokens, que permite que os servidores de recursos consultem o servidor de autorização sobre o estado atual de um token de acesso opaco — ativo ou inativo —, seu escopo, sujeito e expiração. A introspecção permite a revogação de tokens em tempo real: assim que um token é revogado no servidor de autorização, as chamadas de introspecção retornam imediatamente active: false.

Revogação de tokens

O RFC 7009 define o ponto de acesso de revogação de tokens, permitindo que os clientes notifiquem o servidor de autorização de que um token, de acesso ou de atualização, deve ser invalidado. Isso é usado durante o encerramento da sessão ou quando um cliente detecta atividade suspeita. Não é possível revogar completamente tokens de acesso JWT sem uma lista de revogação, pois os servidores de recursos os validam localmente sem contatar o servidor de autorização.

Autorização baseada em escopos

Os escopos do OAuth 2.0 definem as permissões específicas solicitadas pelo cliente. O servidor de autorização apresenta os escopos solicitados ao usuário para aprovação. Os servidores de recursos impõem os requisitos de escopo por ponto de acesso. Aplica-se o princípio do menor privilégio: os clientes devem solicitar apenas os escopos mínimos necessários, e os servidores de recursos devem rejeitar solicitações com escopo insuficiente.

Verificação dos fluxos do OAuth 2.0

Qual fluxo do OAuth 2.0 é apropriado para uma ferramenta CLI ou um dispositivo de IoT que precisa autenticar um usuário, mas não tem navegador nem teclado?

Recapitulação da lição: fluxos do OAuth 2.0

O fluxo do código de autorização é o correto para aplicativos no lado do servidor. O fluxo implícito está obsoleto — use PKCE. O fluxo ROPC está obsoleto, pois elimina o objetivo do OAuth. As credenciais do cliente atendem à comunicação M2M. A autorização do dispositivo atende a dispositivos com entrada limitada. Os tokens de acesso podem ser opacos ou JWT. Os tokens de atualização devem ser rotacionados. A introspecção (RFC 7662) e a revogação (RFC 7009) completam o gerenciamento de tokens.

Perguntas Frequentes

A aula “Fluxos do OAuth 2.0 e Tipos de Tokens” é grátis?

Sim — o texto completo de “Fluxos do OAuth 2.0 e Tipos de Tokens” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.

O que vou aprender em “Fluxos do OAuth 2.0 e Tipos de Tokens”?

Compare os fluxos de código de autorização, implícito, credenciais do cliente e dispositivo — e saiba quando usar cada um. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cryptology Academy?

Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Fluxos do OAuth 2.0 e Tipos de Tokens”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cryptology Academy?

Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fluxos do OAuth 2.0 e Tipos de Tokens
  2. PKCE: Protegendo Clientes Públicos
  3. Claims e Tokens de ID do OpenID Connect
  4. Vulnerabilidades do OAuth e Padrões de Ataque
← Voltar para Cryptology Academy