OAuth 2.0: Componentes e Fluxo

Compartilhado por um usuário do Flashcards.gg · gerado com IA · Denunciar este conjunto

Estudo sobre os componentes, terminologias e fluxos do protocolo OAuth 2.0 para profissionais e estudantes de tecnologia.

50 cartões Português Nível: Ensino superior Segurança da informação Publicado
Toque no cartão para virar

Cartões · 50

OAuth 2.0
Framework de autorização que permite que aplicações de terceiros obtenham acesso limitado a um serviço HTTP em nome do proprietário do recurso.
Resource Owner (Proprietário do Recurso)
Entidade capaz de conceder acesso a um recurso protegido, geralmente o usuário final humano proprietário dos dados.
Client (Cliente)
Aplicação que faz requisições a recursos protegidos em nome do Resource Owner após obter a devida autorização.
Resource Server (Servidor de Recursos)
Servidor que hospeda os recursos protegidos e responde a requisições com dados autorizados mediante a validação de tokens.
Authorization Server (Servidor de Autorização)
Servidor que autentica o Resource Owner e emite tokens de acesso para o Client após obter consentimento formal.
Access Token (Token de Acesso)
Credencial usada pelo Client para acessar recursos protegidos, contendo escopo, validade e permissões delegadas.
Refresh Token
Credencial de longa duração usada pelo Client para obter novos Access Tokens sem exigir nova autenticação do usuário.
Authorization Grant (Concessão de Autorização)
Credencial que representa a autorização do Resource Owner, usada pelo Client para obter um Access Token.
Authorization Code Grant
Fluxo mais seguro e recomendado para aplicações web tradicionais e móveis, usando um código temporário intermediário.
Authorization Code (Código de Autorização)
Código temporário de uso único emitido pelo servidor via redirecionamento e trocado no backend por um Access Token.
PKCE (Proof Key for Code Exchange)
Extensão de segurança para o fluxo de código que impede a interceptação do código de autorização em clientes públicos.
Code Verifier (PKCE)
Cadeia criptográfica aleatória de alta entropia criada pelo cliente antes de iniciar a requisição de autorização.
Code Challenge (PKCE)
Versão transformada (geralmente via SHA-256) do Code Verifier enviada na requisição inicial de autorização.
Client Credentials Grant
Fluxo usado na comunicação direta máquina para máquina (M2M) onde o próprio cliente é o dono do recurso.
Implicit Grant
Fluxo legado e obsoleto que retornava tokens diretamente na URL, desaconselhado devido a riscos de vazamento.
Resource Owner Password Credentials Grant
Fluxo legado onde o usuário envia usuário e senha diretamente ao Client, desaconselhado pela especificação moderna.
Device Authorization Grant
Fluxo projetado para dispositivos com entrada de texto limitada ou sem navegador, como Smart TVs e consoles.
Redirect URI (URI de Redirecionamento)
Endereço pré-cadastrado no servidor para onde o usuário é redirecionado junto com o código de autorização ou erro.
Scope (Escopo)
Mecanismo que limita o nível de acesso e permissões concedidas a um Access Token sobre os recursos da API.
State (Parâmetro de Estado)
Valor opaco aleatório enviado pelo Client para vincular requisições e respostas, prevenindo ataques de CSRF.
Confidential Client (Cliente Confidencial)
Aplicação capaz de manter suas credenciais em segredo com segurança, como um backend rodando em servidor próprio.
Public Client (Cliente Público)
Aplicação incapaz de proteger segredos de autenticação, como Single Page Applications (SPAs) e apps móveis nativos.
Client ID (Identificador do Cliente)
Sequência pública fornecida pelo servidor de autorização para identificar a aplicação cliente de forma unívoca.
Client Secret (Segredo do Cliente)
Senha secreta compartilhada conhecida apenas pelo Client confidencial e pelo Authorization Server para autenticação.
Authorization Endpoint
Ponto de extremidade HTTP no servidor de autorização onde o usuário interage via navegador para consentir o acesso.
Token Endpoint
Ponto de extremidade HTTP no servidor de autorização usado pelo cliente para trocar concessões por tokens de acesso.
Bearer Token
Token que concede acesso a qualquer entidade que o possua, exigindo transporte criptografado exclusivo via TLS/HTTPS.
JSON Web Token (JWT)
Formato estruturado comum de token assinado digitalmente que contém declarações (claims) sem exigir consulta a banco.
Opaque Token (Token Opaco)
Token cujo conteúdo é uma cadeia arbitrária incompreensível para o cliente, exigindo validação via introspecção.
Token Introspection (RFC 7662)
Ponto de extremidade que permite ao Resource Server consultar o Authorization Server para validar um token ativo.
Token Revocation (RFC 7009)
Mecanismo que permite ao cliente notificar o servidor de autorização para invalidar antecipadamente um token.
Response Type (Parâmetro response_type)
Informa ao Authorization Endpoint qual tipo de concessão está sendo solicitada (ex.: code).
Grant Type (Parâmetro grant_type)
Informa ao Token Endpoint qual método de concessão está sendo trocado por tokens (ex.: authorization_code).
Consent Screen (Tela de Consentimento)
Interface exibida pelo servidor de autorização onde o usuário revisa e aprova as permissões pedidas pelo cliente.
Front-Channel (Canal Frontal)
Comunicação indireta entre componentes realizada por meio de redirecionamentos no navegador web do usuário.
Back-Channel (Canal Traseiro)
Comunicação direta via requisições HTTP seguras entre servidores, invisível ao navegador do usuário final.
RFC 6749
Documento oficial que padroniza o núcleo das especificações da arquitetura e fluxos do protocolo OAuth 2.0.
RFC 6750
Especificação técnica que detalha como clientes devem transmitir Bearer Tokens em requisições HTTP.
Cabeçalho Authorization Bearer
Método padrão recomendado pela RFC 6750 para enviar o Access Token em uma requisição HTTP protegida.
OpenID Connect (OIDC)
Camada de identidade baseada em OAuth 2.0 que fornece autenticação de usuários através de um ID Token.
ID Token
Token em formato JWT introduzido pelo OIDC que carrega informações sobre a identidade autenticada do usuário.
Cross-Site Request Forgery (CSRF) em OAuth
Vulnerabilidade onde um invasor injeta seu próprio código de autorização na sessão da vítima, evitada pelo state.
Authorization Code Injection
Ataque interceptando o código de autorização em trânsito, mitigado com o uso obrigatório do protocolo PKCE.
Token Lifetime (Tempo de Vida do Token)
Período durante o qual o Access Token é válido, geralmente curto para mitigar riscos de exposição indesejada.
Refresh Token Rotation
Técnica de segurança que invalida o Refresh Token usado e emite um novo a cada renovação de credenciais.
RFC 8707 (Resource Indicators)
Extensão do OAuth 2.0 que permite ao cliente especificar a audiência ou servidor de destino pretendido para o token.
Discovery Document (.well-known/openid-configuration)
Metadados públicos padronizados que contêm URLs de endpoints, algoritmos e recursos suportados pelo servidor.
OAuth 2.0 Rich Authorization Requests (RAR)
Extensão que permite expressar detalhes refinados de autorização além dos nomes estáticos do parâmetro scope.
Mutual TLS (mTLS) para OAuth 2.0
Mecanismo que vincula criptograficamente tokens de acesso ao certificado do cliente, impedindo o uso por terceiros.
Demonstrating Proof-of-Possession (DPoP)
Protocolo a nível de aplicação que vincula tokens a uma chave pública do cliente, evitando replay de tokens roubados.