OAuth, JWT e gateways: separar controlos de segurança

Em resumo

OAuth 2.0 organiza autorização delegada; OpenID Connect acrescenta autenticação. JWT é um formato de token e um gateway é um ponto de controlo: os papéis são diferentes.

Sala fictícia vazia de verificação de identidade com duas chaves de segurança, cartão em branco e pasta bordô Ilustração · cena fictícia
Neste artigo

Escolher o papel antes da ferramenta

Um token de acesso OAuth pode ser opaco ou usar JWT. Descodificar JWT não verifica autenticidade; um JWT assinado não cifra automaticamente o conteúdo. Um gateway não substitui autorização de negócio nos serviços.

ElementoPapelLimite visível
OAuth 2.0Autorização delegada.Não é por si só um protocolo de início de sessão.
OpenID ConnectAutenticação sobre OAuth 2.0.Exige validação de perfil e tokens.
JWTFormato de declarações.Descodificação, assinatura e cifragem são distintas.
Gateway APIControlos comuns de entrada.Não substitui permissões sobre cada objeto.

Validar o protocolo e cada acesso

  • Escolha um fluxo adequado ao cliente. Nos percursos de utilizador, siga recomendações atuais de código de autorização e PKCE, com biblioteca mantida e redirecionamentos rigorosamente controlados.
  • Para um JWT aceite, verifique assinatura, algoritmos permitidos, emissor, destinatário e restrições temporais do perfil. Rejeite tokens destinados a outro uso.
  • Controle cada objeto, ação e organização. Teste acessos entre contas com dados fictícios; um papel ou âmbito geral nem sempre basta.

Prever validade, revogação e incidentes

Documente renovação, rotação de chaves, perda de segredos e estratégia de revogação. A verificação local não conhece automaticamente uma revogação remota. Minimize dados e registos; nem JWT nem quotas garantem por si só segurança ou conformidade.

Fontes primárias

Um gateway não substitui a autorização de objetos.

Uma API deve verificar se um token se destina a ela e se o chamador pode executar a operação no objeto. Uma assinatura JWT válida ou um login OAuth bem-sucedido não estabelecem essas permissões. Teste identidades vizinhas e funções privilegiadas.

  • Rejeite um token válido destinado a outro público.
  • Teste o acesso entre contas, campos privados e operações administrativas.
  • Execute o processo de expiração e alteração de função sem gravar tokens em logs.

Fonte primária: IETF — RFC 9700, OAuth 2.0 Security Best Current Practice. Método relacionado: consultar o guia prático.

Passkeys: preparar uma mudança de domínio e RP ID

Distinguir conta, origem web e RP ID para evitar a reatribuição silenciosa de credenciais.

  • Registe origens antigas e novas, RP ID e contas associadas. O mesmo nome de conta não torna uma passkey válida para outro RP ID. Verifique as combinações permitidas por WebAuthn e os acessos disponíveis durante a mudança.
  • Num ambiente autorizado, verifique challenge, origem, RP ID e associação à conta com biblioteca adequada. Teste uma origem inesperada e um challenge repetido. Se o RP ID muda, prepare novo registo autenticado; copiar uma linha não migra a chave.
  • Teste um utilizador apenas com a credencial antiga, recuperação e sessões abertas. Defina abertura e retirada dos percursos com regresso verificado. O registo no domínio novo não prova a revogação de todas as sessões antigas.

Caso de aceitação reproduzível

Exemplo fictício: estes dados não descrevem clientes nem resultados observados.

Ver dados do caso
{
    "old_origin": "https://login.old.example",
    "old_rp_id": "old.example",
    "new_origin": "https://login.new.example",
    "new_rp_id": "new.example",
    "same_service_account": true,
    "expected": "authenticated_new_registration"
}

Decisão esperada

Exemplo fictício: a conta é a mesma, mas old.example passa a new.example com outro RP ID. A credencial antiga não pode ser reatribuída silenciosamente; o novo registo segue o percurso autenticado previsto.

W3C — Web Authentication Level 2

Uma edição na base de dados pode mudar o RP ID de uma passkey?

Não. O RP ID integra o âmbito verificado da credencial. Prepare registo válido para o novo âmbito e correspondência de conta autenticada.

Fonte primária: W3C — Web Authentication Level 2. Método relacionado: consultar o guia prático.

Renovação TLS: verificar o certificado efetivamente servido

Seguir a renovação até às terminações e clientes antes de concluir a alteração.

  • Liste nomes, CDN, balanceadores, proxies e ligações internas com certificados. Registe certificado servido, cadeia, validade e responsável. Emissão não prova instalação em todos os nós. Proteja chaves privadas sem as incluir no registo.
  • Teste automação no ambiente de testes do fornecedor quando existe. Verifique desafios, nomes SAN, armazenamento protegido e recarga. Evite emitir em cada arranque se existir certificado utilizável segundo a política de chaves.
  • Confira nomes, datas e cadeia de confiança com clientes suportados e caminhos relevantes. Mantenha a verificação TLS ativa. Monitorize a validade servida, não só o agendador. Reverter exige certificado válido e chave não comprometida; caso contrário corrija ou isole o ponto.

Caso de aceitação reproduzível

Exemplo fictício: estes dados não descrevem clientes nem resultados observados.

Ver dados do caso
{
    "issuance_succeeded": true,
    "proxy_count": 2,
    "proxies_serving_expected_certificate": 1,
    "other_proxy_certificate_expired": true,
    "tls_verification_enabled": true,
    "expected": "change_incomplete_fix_and_verify_client_paths"
}

Decisão esperada

Exemplo fictício: renovação concluída, mas um de dois proxies serve um certificado expirado. A alteração fica incompleta; corrija o proxy e verifique caminhos sem desativar TLS.

Let’s Encrypt — Integration Guide

Fonte primária: Let’s Encrypt — Integration Guide. Método relacionado: consultar o guia prático.

Explorar o catálogo KEV da CISA

As notas detalhadas desta edição estão disponíveis em inglês.

One identifier can span several technical layers

An entry may concern a library, server or component embedded in an appliance. Search the exact name, known dependencies and the distributed product’s advisory. Catalogue aliases are not a complete list of affected versions.

  • Connect the CVE, component supplier and final-product supplier.
  • Check version, configuration and execution path in the authorised environment.
  • Do not infer remediation from an empty search result.

Explorar o catálogo e o método →

CISA KEV · 2026.10.21 · Documentary review : 2026-10-22

Extensões: permissões e acesso

As notas detalhadas desta edição estão disponíveis em inglês.

Robust authentication does not describe extension access

Phishing resistance does not remove the need to examine what runs in the browser after a session opens. A manifest provides clues about cookies, scripting, debugging and identity without establishing collection.

  • Test approved extensions in a profile dedicated to sensitive operations.
  • For identity, inspect OAuth scopes and recipients; this permission does not enumerate identity-provider rights.
  • Distinguish session revocation, token revocation, extension disablement and native-component removal.

Read the permission directory and manifest examples →

Google Chrome · Stay secure · Documentation consulted 2026-10-23; browser behaviour remains version-dependent