Pular para o conteúdo
O Complemento de Dois
  • Concursos
  • Calculadora
  • Estudos
  • Discord
  • Publicações
Home / Segurança / Identidade e acesso

Identidade e acesso

Os 4 Papéis Fundamentais (Roles) do OAuth

  • Resource Owner (Dono do Recurso): Quase sempre é o Usuário final. É quem concede acesso a uma parte da sua conta.
  • Client (Cliente): A Aplicação que deseja acessar os dados do usuário. Ela não é o usuário, ela age em nome do usuário.
  • Resource Server (Servidor de Recursos): O servidor que hospeda os dados protegidos (as APIs).
  • Authorization Server (Servidor de Autorização): Autentica o usuário, colhe o consentimento e emite os tokens

Tipos de Clientes (Confidential vs. Public)

  • Confidential (Confidencial/Privado): Roda em servidores protegidos (Backend). Consegue guardar um segredo (client_secret).
  • Public (Público): Roda no dispositivo do usuário (Single Page Applications como React, Apps Mobile). Não consegue proteger um segredo.

Fluxos de Concessão (Grant Types)

  • Authorization Code Grant (Fluxo do Código de Autorização): O fluxo padrão e mais seguro para aplicações Web tradicionais (Server-side). Envolve a troca de um código temporário por um token.
  • Authorization Code com PKCE: A evolução obrigatória para Clientes Públicos (Mobile e SPAs). Substitui o Implicit Flow (que foi descontinuado por ser inseguro).
  • Client Credentials Grant: Usado para comunicação Server-to-Server (sem usuário humano envolvido). A própria aplicação se autentica usando seu client_id e client_secret.
  • Device Authorization Grant (Device Code): Usado para dispositivos com limitações de entrada/teclado (Smart TVs, CLI/Terminais, IoT). O usuário valida o acesso digitando um código em outro dispositivo (como o celular).

Nota de Estudo: Os fluxos Implicit Grant e Resource Owner Password Credentials (Senha direta) foram descontinuados devido a falhas de segurança de conceitos modernos.

Segurança, Extensões e Tokens

Tipos de Tokens

  • Access Token: O passe livre para a API. Curta duração. Pode ser um formato opaco ou um JWT (JSON Web Token).
  • Refresh Token: Usado estritamente para obter novos Access Tokens sem incomodar o usuário para fazer login de novo. Longa duração, guardado de forma segura.
  • ID Token: Exclusivo do OpenID Connect (OIDC). Sempre é um JWT. Serve para provar a identidade do usuário (Autenticação), enquanto o OAuth puro cuida da autorização (Access Token).

Mitigação de Ataques Famosos

  • Parâmetro state: Um valor aleatório gerado pelo cliente para prevenir ataques de CSRF (Cross-Site Request Forgery). O servidor deve devolvê-lo idêntico.
  • PKCE (code_verifier e code_challenge): Evita a interceptação do código de autorização em redes ou dispositivos públicos. O cliente envia o hash (challenge) no início e revela o texto puro (verifier) no final.
  • Token Revocation (RFC 7009): O endpoint/mecanismo oficial utilizado para invalidar um token (fazer logout de forma ativa).

Categorias: Segurança
Tags: oauth, oidc, sso
Publicado em: 05/06/2026 22:07 e Atualizado em: 05/06/2026 22:07

Compartilhe este post:

Facebook Twitter LinkedIn WhatsApp

Navegação de Post

Post anterior: Padrões de Projeto GoF
Próximo post: Framework Spring

Posts Recentes

  • MPS
    MR-MPS-SW13 de junho de 2026
  • RabbitMQ
    RabbitMQ8 de junho de 2026
  • Spring
    Framework Spring7 de junho de 2026
  • oauth
    Identidade e acesso5 de junho de 2026
  • GoF
    Padrões de Projeto GoF1 de junho de 2026
  • Política de privacidade

2026. O Complemento de Dois. Todos os direitos reservados.