Teste de Misconfiguração OAuth2 e OpenID Connect

Teste de Misconfiguração OAuth2 e OpenID Connect

Atualizado em: 2026-10

O que você vai aprender:

  • Como identificar e explorar misconfigurações comuns em implementações OAuth2 / OpenID Connect (OIDC).
  • Métodos práticos, comandos e ferramentas para testar Authorization Servers, clients e fluxos de token em ambientes reais e controlados.
  • Controles, métricas e playbooks operacionais para reduzir risco e detectar abuso em produção.

Pré-requisitos: conhecimento de HTTP, JSON, JWT, básico de OAuth2 (flows Authorization Code, Implicit, Client Credentials), familiaridade com Burp Suite, curl, jq e ambiente Kali/Parrot.

Nível: intermediário | avançado

Sumário:

Em 2026 um provedor de identidade regional sofreu um incidente que expôs tokens de acesso e refresh tokens por 72 horas devido a uma combinação de redirecionamentos abertos e falta de validação de audience em tokens JWT. A exploração começou com um scanner automatizado que encontrou um endpoint de discovery exposto e evoluiu para exfiltração de tokens via client rogue configurado com redirect_uri permissiva. O impacto foi financeiro e reputacional: contas administrativas foram comprometidas e integrações com parceiros exigiram rolagem de chaves e revogação em massa. Este artigo detalha os vetores que permitiram a cadeia de ataque, como testá-los de forma ética e reproduzível, e como construir defesas e detecção eficazes.

Contexto Atual e Relevância Estratégica

Tendências recentes e por que o tema importa em 2026

Em 2025-2026 cresceu a adoção de Authorization Servers gerenciados em cloud e a integração SaaS com OIDC como método padrão de autenticação federada. Essa transição ampliou a superfície de ataque: integrações automatizadas, microservices com tokens de vida longa e delegação extensiva. Relatórios de 2026 mostram ataques que começaram explorando misconfigurações em OAuth/OIDC para pivotar em ambientes cloud e acessar APIs sensíveis. A falta de validação de parâmetros como redirect_uri, scope e audience permanece a causa raiz em muitos incidentes.

Alerta

Misconfigurações em OAuth/OIDC não são “apenas” bugs funcionais – elas permitem assumir sessões, enrolar trust chains entre serviços e automatizar exfiltração com tokens válidos. Trata-se de um risco de longo prazo, especialmente em ambientes com integração externa e automações CI/CD.

Impacto de negócio e vetor de ataque preferido

Impactos típicos: escalonamento de privilégios, acesso a APIs faturáveis, fraude em onboarding, exfiltração de PII. Vetor preferido dos atacantes profissionais em 2025-2026: encontrar clients com redirect_uri wildcard ou ausência de PKCE em Authorization Code flow para aplicações nativas, combinando Social Engineering para registrar client rogue quando o processo de integração é manual e pouco verificado.

Superfícies em crescimento

Serviços com microservices que recebem tokens sem validação de issuer (iss) ou audience (aud), aplicações serverless que armazenam refresh tokens em variáveis de ambiente, e bibliotecas cliente desatualizadas (ex.: OAuth2 client libs com algoritmos JWT vulneráveis) representam superfícies críticas. Falta de logs estruturados para eventos OIDC (token issuance, revocation, introspection) torna a detecção retroativa dificultosa.

Fluxo simplificado de exploração via redirect_uri permissiva

Fundamentos Técnicos do Tema

OAuth2 e OpenID Connect em poucas linhas

OAuth2 é um framework de autorização; OpenID Connect é uma camada de autenticação construída sobre OAuth2 que utiliza ID Tokens (JWT) para representar identidade. Entidades principais: Resource Owner (user), Client (app), Authorization Server (AS), Resource Server (API). Fluxos relevantes: Authorization Code (com ou sem PKCE), Implicit, Client Credentials, Resource Owner Password Credentials (deprecated), Device Code, Refresh Token.

Figura: camadas técnicas do tema

Componentes e artefatos técnicos

Endpoints chave: /authorize, /token, /userinfo, /.well-known/openid-configuration (discovery), /revocation, /introspection. Artefatos: authorization_code, access_token (às vezes JWT), id_token (OIDC, JWT), refresh_token. Cabe validar assinaturas (alg RSA/RS256 ou HMAC/HS256), claims (iss, aud, exp, iat, nonce) e parâmetros de metadados (token_endpoint_auth_methods_supported).

Dica

Sempre consulte o discovery endpoint /.well-known/openid-configuration para entender capabilities: supported response types, token endpoint auth methods, jwks_uri. Esse é o ponto inicial para testes de misconfiguração.

Tabela comparativa dos fluxos OAuth2

FluxoUso comumRiscos comunsRecomendação
Authorization CodeApps web e mobileInterceptação do code sem PKCE, redirect_uri abertaExigir PKCE em públicos, validar redirect_uri exato
ImplicitAntigas SPAsTokens em URL, vulnerável a XSSEvitar; migrar para Authorization Code com PKCE
Client CredentialsService-to-serviceCredenciais em repositórios, tokens longos sem rotaçãoRotação, scopes mínimos, mTLS opcional
Device CodeDevices sem browserPolling inexato, refresh tokens expostosThrottle, limitação de life-time
Refresh TokenSessões persistentesAbuso para persistênciaRevogação e binding ao client

Verificação técnica de JWT

Checks básicos em JWT: verificar cabeçalho (alg), obter chave pública via jwks_uri, validar assinatura, validar claims exp/iat/nbf, validar aud e iss, e validar nonce para prevenir replay. Ferramentas úteis: jwt.io (web), jwt-cli, python-jose, openssl (para certificados), jq para parsing JSON.

Arquitetura, Fluxos e Superfície de Ataque

Componentes arquiteturais e pontos de falha

Authorization Server: central para emitir tokens. Resource Server: valida tokens. Clients: armazenam credenciais e lidam com redirect_uris. Pontos de falha típicos: discovery público sem rate limit, jwks não rotacionado, token introspection aberto, revocation não implementada, client registration automática sem validação do owner.

Fluxos ASCII – Authorization Code com PKCE

Superfície de ataque: matriz por componente

ComponenteVetorImpactoTeste objetivo
Discovery endpointExposição de metadados e algoritmosFacilita fingerprinting e automatização de ataquesEnumerar capabilities e buscar support for none alg ou symmetric keys
jwksChaves antigas ou chave HS256 com secret públicoValidação quebrada, tokens forjáveisTestar alg compatível e tentar usar HS256 flipping
redirect_uriWildcard ou open redirectAuthorization code theftTentar registrar client rogue com redirect param
token endpointToken exchange sem PKCECode interception troca por tokenTentar trocar code sem code_verifier
introspection/revocationEndpoints públicos sem authToken spoofing, falta de revogaçãoAccesar introspection com token de terceiros
Ponto-chave

Auditoria de misconfiguração deve incluir testes de ossos duros: alterar alg de JWT, testar redirect_uri variations, verificar políticas de client registration, e avaliar limites de rate e logging do AS.

Vetor avançado: algorithm confusion e key exploit

Algorithm confusion ocorre quando AS aceita tokens com alg ‘none’ ou permite trocar RS256 por HS256, fazendo com que a assinatura seja verificada com uma chave simétrica conhecida pelo atacante. Testes práticos envolvem craft de JWT com header alg alterado e tentar validação contra public keys vazias ou secrets previsíveis. Em 2025-2026 surgiram exploits automatizados que testam essas condições em massa; sistemas legados e bibliotecas personalizadas permanecem vulneráveis.

Cenários Reais e Estudos de Caso

Estudo de caso 1 – token theft via redirect_uri permissiva

Resumo técnico: um cliente empresarial permitia qualquer subpath em redirect_uri (ex.: https://client.example.com/*), o que permitiu a um atacante controlar um subdomínio e receber authorization code. O atacante trocou o code por access token e usou o token para chamar APIs internas. Correção: restringir redirect_uri exato e validar owner do client. Métrica de impacto: 1.2M de chamadas API suspeitas em 48 horas.

Estudo de caso 2 – alg confusion em biblioteca custom

Resumo técnico: uma implementação personalizada de validação JWT aceitava ‘alg: HS256’ como fallback sem checar key use. Um atacante apresentou um token assinado com secret ‘admin’ e obteve privilégios. Correção: validar alg esperado, usar JWKS e negar ‘alg: none’. Métrica de detecção: logs mostraram aumento de tokens com claim ‘sub’ desconhecido; tempo para identificar e rotacionar chaves: 14 horas.

Estudo de caso 3 – client registration automática mal controlada

Resumo técnico: um Authorization Server permitia dynamic client registration sem human review para aplicações internas, com client_secret devolvido automaticamente. Um atacante registrou um client rogue e listou scopes que entregavam dados PII. Correção: habilitar process manual, whitelisting de redirect URIs e scopes, mTLS opcional. Risco residual: integrações B2B podem requerer exceções, exigir SLAs de auditoria.

Alerta

Dynamic client registration permanece uma balança: útil para agilidade, perigoso sem controles de validação de ownership e rate limits. Testes devem incluir tentativas massivas e análise de logs para detectar registrations anormais.

Implementação Prática Step-by-Step

Ambiente de teste recomendado

Use Kali Linux ou Parrot OS com Burp Suite Professional, mitmproxy, jq, curl, nodejs (openid-client), python3 (requests, jwcrypto), e docker com um Authorization Server local (ex.: ORY Hydra, Keycloak, Dex) para executar testes sem riscos. Sempre obtenha autorização escrita e defina escopo e evidência.

Figura: pipeline de implementação controlada

Fluxo prático de reconhecimento

  1. Descobrir discovery endpoint: curl https://idp/.well-known/openid-configuration e salvar metadados.
  2. Obter jwks_uri e baixar chave pública: curl -s jwks_uri > jwks.json.
  3. Enumerar response_types e supported algorithms para identificar permissões ‘none’ ou support for HS256.
  4. Testar registration endpoint: acessar dynamic_registration_endpoint se presente e tentar criar client com redirect_uri arbitrário.
  5. Testar /authorize com parâmetros maliciosos (prompt=none, response_type=token id_token no implicit, scope aberto) e observar redirection behavior.
  6. Tentar trocar authorization_code sem code_verifier para verificar ausência de PKCE em clients públicos.
  7. Testar token endpoint auth methods: client_secret_basic, none, private_key_jwt e verificar suporte e falhas.
  8. Validar introspection/revocation endpoints para autenticação e exposição de tokens.
  9. Tentar alg attack: construir JWT com alg=HS256 e assinar com public key para testar confusion (somente em ambiente de teste autorizado).
  10. Registrar findings e capturar evidências: request/response, headers, tokens (mas nunca armazenar tokens de produção sem necessidade e com criptografia).

Comandos práticos e validação

Exemplos em Kali/Parrot.

Dica

Use Burp Suite para manipular parâmetros on the fly: altere redirect_uri, response_type e alg no id_token para avaliar comportamento do AS. Habilite interceptação HTTPS com CA controlada em ambiente de teste.

Teste de algorithm confusion – passo a passo controlado

Somente em laboratório autorizado. Objetivo: verificar se AS aceita tokens com alg alterado para HS256 usando chave pública como secret.

  1. Gerar JWT válido a partir de informações legítimas do discovery (iss, aud, exp, iat).
  2. Alterar header para {“alg”:”HS256″,”typ”:”JWT”}.
  3. Usar a chave pública do jwks.json como secret e assinar o token com HMAC-SHA256.
  4. Enviar token ao Resource Server e observar aceitação.
  5. Se aceito, reportar e exigir correção imediata: AS deve recusar alg de token que difira do esperado e usar JWKS para validação de assinaturas assimétricas.

Valide no Resource Server e capture logs; documente resultado com timestamps e hashes.

Hardening, Controles e Melhores Práticas

Matriz de controles e prioridades

CategoriaControlePrioridadeMétrica de sucesso
Client RegistrationDesabilitar dynamic registration ou exigir validação manualAlta0 clients criados automaticamente em 30 dias
Redirect URIsForçar match exato e white-list de URIsAlta0 redirects contendo wildcards em 90 dias
PKCEExigir PKCE para Authorization Code em apps públicosAlta100% dos clients públicos com code_challenge
JWT ValidationUsar JWKS, negar alg none e HS/RS mixingAlta0 tokens aceitos com alg inesperado
Token Life-cycleLimitar TTL, habilitar revocation e rotationMédiaMean Time To Revoke (MTTR) < 30s
LoggingLogar eventos OIDC estruturados (JSON) e centralizarMédia100% dos eventos token issuance com trace_id
Access ControlScopes minimalistas e resource-based scopesMédia0 clients com scopes broad_default

Práticas U1-U12 (em tabela)

IDPráticaRisco reduzidoIndicador de implementação
U1Habilitar PKCE para todos os clients públicosInterception de authorization codesRelatório de compliance: 100% PKCE
U2Restrição exata de redirect_uriCode theft via open redirect0 URIs com wildcard
U3Negar alg none e bloquear alg tamperingToken forgeryScan sem achados alg none
U4Provisionamento de clients com owner verificationClient rogue registrationProcesso de aprovação com 2FA
U5Rotação de chaves JWKS automatizadaComprometimento de chaveRotações programadas + histórico
U6Revogação de refresh tokens com bindingPersistência de sessão indevidaMTTR revogação < 1 minuto
U7Rate limit discovery e registration endpointsFuzzing e enumeração em massaBloqueio por IP/ID após 10 tentativas
U8Telemetry: injetar trace_id em tokens e logsDificuldade de forense100% eventos correláveis
U9Introspection autenticado e rate-limitedExposição de estado do tokenIntrospection exige client credentials
U10Aplicar mTLS para clients confidenciaisImpersonation de clientTodos clients confidenciais com certs
U11Implementar revogação de sessão centralizadaTokens persistentes após logoutLogout global em 30s
U12Pen-test anual focado em OAuth/OIDCControle de segurança degradadoRelatório com remediação < 90 dias
Dica

Automatize checagens básicas em CI/CD: scanners que validam discovery metadata, ausência de alg none, presença de PKCE para projetos públicos e configuração de redirect URIs no deployment pipeline.

Figura: pilha de hardening (da rede à lógica)

Configurações específicas por vendor

Keycloak: desabilitar dynamic registration e revisar client scope mappings; ORY Hydra: exigir private_key_jwt para clients confidenciais; AWS Cognito/Okta/Auth0: revisar políticas de application registration e rotacionamento de secrets via APIs. Trade-off: segurança vs. automação – alguns fluxos B2B precisarão de exceções documentadas e monitoradas.

Playbooks Operacionais para Blue Team e Red Team

Playbook resumido para Red Team

FaseAçãoComando/ToolEvidência
ReconhecimentoEnumerar discovery e jwkscurl, jqoutput discovery.json, jwks.json
Client RegistrationTentar dynamic registrationcurl POST /registerresponse client_id, client_secret
Authorize abuseTest redirect_uri e prompt manipulationBurp Suite interceptredirects logs, code
Token theftExplorar code exchange sem PKCEcurl token endpointaccess_token
Token forgingAlg confusionjwt-cli, python jwttoken accepted por API

Checklist de auditoria (Kit de auditoria) – H3 real

Kit de lab

Elementos para reproduzir testes de misconfiguração:

Figura: ciclo detectar-conter-recuperar
  • Docker com Keycloak ou ORY Hydra configurado
  • Kali/Parrot com Burp Suite, mitmproxy, jwt-cli, python3
  • Ambiente de testes isolado com serviços Resource Server
  • Scripts para gerar tokens e manipular headers

Checklist de auditoria

ItemVerificaçãoResultado esperado
DiscoveryExistência de /.well-known/openid-configurationPresentes, mas rate-limited
JWKSChaves rotacionadas e acessíveisChaves com metadata e rotação configurada
AlgoritmosAlg none não aceitoResposta de erro ao token com alg none
PKCEClient públicos exigem PKCEClients públicos rejeitados sem code_verifier
RedirectMatch exato sem wildcardsRedirects inválidos rejeitados
RegistrationDynamic registration controladoRequer validação manual

Playbook resumido – H3 real

Passos rápidos para executar uma avaliação controlada:

  1. Obter autorização e escopo por escrito.
  2. Levantar discovery e jwks.
  3. Tentar registration automatizada e documentar resposta.
  4. Interceptar flows de authorize e testar redirect manipulations.
  5. Testar troca de code sem PKCE e observar sucesso/erro.
  6. Fazer tentativa controlada de alg confusion em ambiente de teste.
  7. Relatar findings com PoC reproduzível e recomendações remediais.
  8. Verificar correção e re-testar.

Checklist Blue Team

  • Verificar políticas de client registration e bloquear registrations automáticas.
  • Ativar PKCE e revisar clients públicos.
  • Implementar logs estruturados para issuance, revocation e introspection.
  • Habilitar alertas para tokens emitidos com scopes administrativos.
  • Aplicar rate limiting e bloqueio por anomalia no discovery.

Checklist Red Team

  • Enumerar discovery/jwks e testar para alg none ou HS/RS mixing.
  • Tentar registrar client rogue e capturar client_id/secret.
  • Manipular redirect_uri para capturar authorization code.
  • Tentar trocar authorization code sem code_verifier.
  • Fazer script para automatizar fuzzing de endpoints relevante e coletar métricas.
Ponto-chave

Blue Team deve priorizar telemetria e automação de detecção; Red Team deve priorizar encontrar gaps em automação de registro, validação de URI e comportamento de token endpoint.

Métricas, KPIs e Auditoria Técnica

Métricas operacionais recomendadas

KPIs práticos para medir segurança OAuth/OIDC:

Figura: loop de métricas e evidência
  • Percentual de clients públicos com PKCE: target 100%.
  • MTTR para revogação de token: target < 60s.
  • Tempo médio de rotação de chave JWKS: target 30 dias ou conforme política.
  • Quantidade de dynamic registrations por período e taxa de reprovação manual.
  • Alertas por tokens emitidos com scopes privilegiados sem owner approval.

Métricas de detecção e resposta

Métricas importantes para SOC: médias de requests ao discovery por IP (indicador de fuzz), picos de troca de code originando de IPs não correlacionados ao usuário (indicador de code theft), e uso de tokens fora de padrões geográficos/horários. Implementar correlação entre issuance e uso do token para reduzir tempo de investigação.

MétricaDescriçãoAlvo
Discovery requests per minuteVolume ao /.well-known< 50 por origem
Failed token exchangesTrocas de code que falham (indicador de brute force)Alerta se > 10/min
Tokens with privileged scopesQuantos tokens com admin scope são emitidosRevisão diária
Time to revokeTempo desde request até revogação efetiva< 1 minuto

Erros Comuns, Armadilhas e Correções

Erro 1 – aceitar alg none

Descrição: AS que aceita tokens com header alg setado para ‘none’. Correção: rejeitar qualquer token com alg ‘none’ e validar assinatura contra JWKS. Teste: enviar token com alg none e observar resposta 400/401.

Figura: anti-padrão e correção

Erro 2 – wildcard redirect_uri

Descrição: uso de *.example.com em redirect_uri. Correção: exigir match exato e checar subdomínio ownership. Trade-off: para multi-tenant, criar whitelist por tenant e processo de verificação de domain verification (DNS TXT).

Erro 3 – não exigir PKCE

Descrição: Authorization Code flows sem PKCE para clientes públicos. Correção: forçar code_challenge e code_verifier; renovar clients antigos com migration plan. Métrica: reduzir uso de flows inseguros a zero.

Erro 4 – introspection pública

Descrição: endpoints de introspection sem autenticação permitem enumerar estado de tokens. Correção: requerer client authentication e limitar dados retornados; usar scopes mínimas na introspection.

Rollback da política

Rollback da política: Se uma mudança de hardening causar interrupção, ter plano de rollback com rollback window e indicadores de segurança operacionais. Ex.: voltar temporariamente a aceitar um redirect_uri enquanto se mobiliza equipe de integração, mas só depois de habilitar compensating controls como IP allowlist e monitoramento aumentado.

FAQ Técnico para Busca Orgânica

O que é a diferença entre access_token e id_token?

Access_token é um token de autorização destinado a Resource Servers para conceder acesso a APIs; id_token é um token de identidade (OIDC) fornecido ao client para autenticar o usuário. Access_tokens podem ser opacos ou JWT; id_tokens geralmente são JWT contendo claims de identidade.

Como testar se o Authorization Server aceita alg none?

Em ambiente de teste, gere um JWT com header alg: none e envie ao Resource Server. Se o token for aceito sem assinatura, o AS/RS está vulnerável. Use ferramentas como jwt-cli ou scripts python. Nunca executar esse teste em produção sem autorização.

Qual é o teste mínimo para PKCE?

Tentar uma troca de authorization_code no token endpoint sem enviar code_verifier para um client público. Se a troca suceder, PKCE não está em vigor. Verifique também que clients confidenciais validem client_secret.

Como detectar client rogue registrado via dynamic registration?

Monitorar eventos de registration, estabelecer approval workflow, alertar para registrations com redirect_uris fora do domínio corporativo. Manter audit trail e exigir owner verification por e-mail ou DNS challenge.

Por que JWT signed with HS256 pode ser perigoso quando AS usa RS256?

Se o AS aceitar HS256 tokens e o Resource Server esperar RS256, um atacante pode usar a chave pública do issuer como secret para assinar token HS256, levando à aceitação indevida. Correção: forçar uso de algoritmos assimétricos e validar alg esperada.

Qual a diferença entre token introspection e token revocation?

Introspection retorna o estado atual de um token (ativo, scopes, etc.) e tipicamente requer autenticação. Revocation invalida um token (access ou refresh). Ambos devem ser autenticados e rate-limited para evitar exposição.

Como auditar o uso de refresh tokens?

Registrar eventos de emissão, uso e revogação de refresh tokens, checar binding de refresh token ao client_id e, quando possível, ao device fingerprint. Limitar TTL e número de rotas de refresh simultâneas por user/client.

Quais ferramentas automáticas são recomendadas?

Burp Suite (scanner e repeater), mitmproxy, jwt-cli, oauth2-scan scripts, openid-client (Node.js) para automação, wfuzz/httpx para fuzzing. Ferramentas específicas: OIDF conformance tests, Keycloak/ORY Hydra health checks em ambiente de teste.

Como documentar evidências de testes para compliance?

Inclua request/response com timestamps, hash de token (não armazenar token íntegro), captura de tela do Burp, logs do server com trace_id, e um PoC reproduzível em ambiente controlado. Forneça remediação com prioridade e prazo.

Quando usar mTLS com OAuth?

Use mTLS para clients confidenciais onde o segredo do client não pode ser protegido adequadamente. mTLS fortalece autenticação de client e reduz risco de client impersonation. Trade-off: operacional e custos de gestão de certificados.

Como lidar com integrações legacy que não suportam PKCE?

Para legacy, criar um gateway que mitigue riscos: aplicar client-specific allowlist, bind tokens a IP, reduzir scopes, reduzir TTL, e planejar migração com vendor ou re-coding. Priorizar migração para flows mais seguros.

Considerações Finais

OAuth2 e OpenID Connect são ferramentas poderosas que, quando mal configuradas, se transformam em ferramentas de ataque. Em 2026, a migração acelerada para modelos federados e microservices expõe organizações a novos modos de abuso: automatização de registration, token theft via redirect manipulation, e algoritmos mal configurados continuam dominando a cena. A resposta prática é dupla: (1) testar e remediar misconfigurações com processos e automação em CI/CD, e (2) instrumentar visibilidade e resposta no nível do Authorization Server e do Resource Server.

Segurança em OAuth/OIDC é sobre decisões: validar padrões fortes (PKCE, JWKS, revogação), reduzir privilégio (scopes restritos), e operar com telemetria que permita detectar comportamento anômalo rapidamente. Um Authorization Server seguro, mas cego a uso anômalo, ainda é um risco; o contrário também vale. Finalmente, assegure que a política de integração com parceiros seja tão rigorosa quanto a proteção interna – ataques começam nas bordas.

Próximo passo: execute o checklist de auditoria nesta página em um ambiente de teste isolado e solicite um diagnóstico União Geek com evidências (output discovery.json, jwks.json, PoC de redirect) para validação técnica em 14 dias.

Recursos Visuais Sugeridos

Materiais públicos com diagramas, arquiteturas e visuais oficiais para apoiar o estudo do tema.

Referências

  • RFC 6749 – The OAuth 2.0 Authorization Framework, IETF, 2012, https://datatracker.ietf.org/doc/html/rfc6749
  • OpenID Connect Core 1.0, OpenID Foundation, 2014, https://openid.net/specs/openid-connect-core-1_0.html
  • OAuth 2.1 – IETF Draft, IETF, 2024, https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1
  • OWASP OAuth Security Cheat Sheet, OWASP, 2026, https://cheatsheetseries.owasp.org/cheatsheets/OAuth_Security_Cheat_Sheet.html
  • Keycloak Documentation – Client Registration and Security, Red Hat, 2026, https://www.keycloak.org/docs/latest/server_admin/#client-registration
  • ORY Hydra – Security Best Practices, ORY, 2025, https://www.ory.sh/docs/hydra/security
  • Auth0 – Common OAuth2 Misconfigurations and How to Fix, Auth0, 2026, https://auth0.com/docs/security/oauth-misconfigurations
  • Okta Developer – OAuth 2.0 and OpenID Connect Overview, Okta, 2025, https://developer.okta.com/docs/concepts/oauth-openid/
  • JWT.io – JSON Web Tokens Introduction, jwt.io, 2026, https://jwt.io/introduction
  • Mitre ATT&CK for Enterprise – Initial Access and Lateral Movement techniques, MITRE, 2026, https://attack.mitre.org/
  • Google Cloud – OAuth2 Security Best Practices, Google Cloud, 2025, https://cloud.google.com/architecture/oauth2-security-best-practices
  • Microsoft Identity Platform – OAuth2 and OIDC Guidance, Microsoft, 2026, https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-protocols-oidc
  • RFC 7523 – JWT Profile for OAuth 2.0 Client Authentication and Authorization Grants, IETF, 2015, https://datatracker.ietf.org/doc/html/rfc7523
  • OWASP API Security Top 10, OWASP, 2023, https://owasp.org/www-project-api-security/

Você pode gostar...

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *