OAuth 2.0: Componentes e Fluxo 3

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

Este conjunto aborda os componentes, papéis e o fluxo do protocolo OAuth 2.0. É destinado a estudantes de tecnologia e desenvolvedores.

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

Cartões · 52

OAuth 2.0
Framework de autorização que permite que aplicações terceiras 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; tipicamente o usuário final da aplicação.
Resource Server (Servidor de Recursos)
Servidor que hospeda os recursos protegidos e aceita requisições autenticadas mediante a validação de tokens de acesso.
Client (Cliente)
Aplicação que faz requisições a recursos protegidos em nome do proprietário do recurso e mediante a sua autorização.
Authorization Server (Servidor de Autorização)
Servidor responsável por autenticar o proprietário do recurso e emitir tokens de acesso após obter consentimento.
Access Token (Token de Acesso)
Credencial usada para acessar recursos protegidos, representando a autorização concedida ao cliente com escopo e validade específicos.
Refresh Token
Token de longa duração usado pelo cliente para obter um novo Access Token sem exigir nova interação com o usuário.
Scope (Escopo)
Parâmetro que define e restringe o nível de acesso e as operações permitidas a um Access Token no Resource Server.
Consent Screen (Tela de Consentimento)
Interface exibida pelo Authorization Server onde o usuário autoriza explicitamente o cliente a acessar seus dados.
Client Identifier (client_id)
Identificador público exclusivo emitido pelo Authorization Server para identificar a aplicação cliente registrada.
Client Secret (client_secret)
Chave secreta compartilhada apenas entre o cliente confidencial e o servidor de autorização para autenticar o cliente.
Confidential Client (Cliente Confidencial)
Cliente capaz de manter suas credenciais confidenciais com segurança, como aplicações executadas em servidores back-end.
Public Client (Cliente Público)
Cliente incapaz de manter credenciais em sigilo seguro, como SPAs executadas no navegador ou apps mobile nativos.
Redirect URI (URI de Redirecionamento)
Endereço pré-registrado para onde o servidor de autorização redireciona o usuário após a aprovação ou negação do acesso.
Authorization Grant (Concessão de Autorização)
Credencial que representa o consentimento do proprietário do recurso, usada pelo cliente para solicitar um token de acesso.
Authorization Code Grant
Fluxo mais seguro do OAuth 2.0, baseado em redirecionamento de navegador e troca de código no back-end para emissão de tokens.
Authorization Code (Código de Autorização)
Código temporário e de uso único emitido via navegador, trocado diretamente no servidor por tokens de acesso.
PKCE (Proof Key for Code Exchange)
Extensão do Authorization Code que protege clientes públicos contra interceptação de código sem exigir client_secret.
Code Verifier (Verificador de Código)
Sequência criptográfica aleatória de alta entropia gerada localmente pelo cliente público para uso com PKCE.
Code Challenge (Desafio de Código)
Derivação criptográfica do code_verifier (usualmente SHA-256) enviada inicialmente na requisição de autorização.
Implicit Grant (Concessão Implícita)
Fluxo legado onde o token de acesso era retornado diretamente na URL do navegador; atualmente desaconselhado pela RFC.
Resource Owner Password Credentials Grant
Fluxo legado onde o usuário fornece usuário e senha diretamente ao cliente; reservado apenas para clientes altamente confiáveis.
Client Credentials Grant
Fluxo usado em comunicação máquina a máquina (M2M) onde o próprio cliente autentica-se e acessa recursos próprios.
Device Authorization Grant (Device Flow)
Fluxo projetado para dispositivos com entrada limitada ou sem navegador, como Smart TVs e dispositivos IoT.
Authorization Endpoint
Ponto de extremidade no Authorization Server usado pelo cliente para obter a autorização do usuário via redirecionamento.
Token Endpoint
Ponto de extremidade HTTP no Authorization Server usado pelo cliente para trocar concessões ou refresh tokens por access tokens.
Token Revocation Endpoint
Ponto de extremidade que permite ao cliente invalidar ativamente tokens de acesso ou refresh tokens que não são mais necessários.
Token Introspection Endpoint
Endpoint onde servidores de recursos consultam o estado, escopo e metadados de um token de acesso recebido.
Bearer Token
Tipo de token de segurança em que qualquer entidade portadora do token tem acesso concedido, sem necessidade de provar posse de chave.
Cabeçalho Authorization Bearer
Cabeçalho HTTP padrão onde o cliente envia o token de acesso para o Resource Server no formato Authorization: Bearer <token>.
State Parameter
Valor opaco usado para manter estado entre a requisição e o callback e prevenir ataques de Cross-Site Request Forgery (CSRF).
Nonce Parameter
Valor de uso único associado a uma sessão para mitigar ataques de repetição em extensões de autenticação como OpenID Connect.
JSON Web Token (JWT)
Formato de token autido e estruturado com claims em JSON, assinado digitalmente, muito comum em implementações de OAuth 2.0.
Opaque Token (Token Opaco)
Identificador de token que não contém dados legíveis internamente, exigindo consulta ao banco ou introspecção para validação.
Etapa 1 do Authorization Code: Solicitação de Autorização
O cliente redireciona o navegador do usuário para o Authorization Endpoint com client_id, redirect_uri, scope e state.
Etapa 2 do Authorization Code: Autenticação e Consentimento
O usuário faz login no Authorization Server e aceita ou nega os privilégios solicitados pela aplicação.
Etapa 3 do Authorization Code: Emissão do Código
O servidor redireciona o navegador para a redirect_uri do cliente contendo o authorization code e o state como parâmetros de query.
Etapa 4 do Authorization Code: Troca do Código por Tokens
O back-end do cliente envia requisição POST para o Token Endpoint com o authorization code, client_id e client_secret.
Etapa 5 do Authorization Code: Resposta com Access Token
O Authorization Server valida o código e credenciais e devolve uma resposta JSON com access_token e opcionalmente refresh_token.
Etapa 6 do Authorization Code: Acesso ao Recurso
O cliente envia requisições HTTP para o Resource Server com o Access Token no cabeçalho Authorization: Bearer.
Refresh Token Rotation
Prática de segurança onde um novo refresh token é emitido a cada renovação de access token, invalidando o anterior.
Sender-Constrained Tokens
Tokens criptograficamente vinculados ao cliente emissor, impedindo que um invasor os use caso sejam interceptados.
DPoP (Demonstrating Proof-of-Possession)
Mecanismo da camada de aplicação que vincula tokens a uma chave privada pertencente ao cliente no envio de requisições.
Mutual TLS (mTLS) no OAuth 2.0
Autenticação mútua TLS usada tanto para autenticação de clientes quanto para vincular certificados a tokens de acesso.
Diferença entre Autenticação e Autorização
Autenticação confirma quem a entidade é; autorização determina o que essa entidade verificada tem permissão para fazer.
OpenID Connect (OIDC)
Camada de identidade baseada no protocolo OAuth 2.0 que fornece autenticação de usuários e emite ID Tokens.
ID Token
Token no formato JWT emitido pelo OIDC que contém asserções sobre a identidade do usuário autenticado.
Validação de Token por Referência (Introspecção)
O Resource Server envia o token ao Authorization Server via HTTP para validar status ativo, validade e permissões.
Validação de Token por Valor (Autovalidável)
O Resource Server valida a assinatura criptográfica e as claims do token JWT localmente usando a chave pública do emissor.
JWKS (JSON Web Key Set)
Conjunto público de chaves criptográficas disponibilizado pelo Authorization Server para verificação de assinaturas JWT.
Parâmetro response_type
Parâmetro na requisição de autorização que informa o tipo de resposta esperado, como code para o fluxo de código de autorização.
Parâmetro grant_type
Parâmetro enviado ao Token Endpoint informando o método usado para solicitar o token (ex: authorization_code, refresh_token).