Português (Brasil)
  • postmortem

Post-mortem: falhas de autenticação causadas por cache de JWKS e rotação de chave de assinatura

Post-mortem para o incidente de autenticação em 8 de janeiro de 2026 (PST).

Gao
Gao
Founder

Pare de perder semanas com autenticação de usuários
Lance aplicativos seguros mais rapidamente com o Logto. Integre a autenticação de usuários em minutos e concentre-se no seu produto principal.
Começar
Product screenshot

Data: 8 de janeiro de 2026 (PST)

Duração: ~60 minutos

Impacto: alguns locatários de produção tiveram falhas no login e na validação de tokens; o login no Console pode ter sido afetado

Resumo

Um descompasso entre uma chave de assinatura rotacionada e um JWKS em cache no nosso domínio *.logto.io causou falhas na validação de tokens. Limpamos o cache do JWKS e voltamos para a chave de assinatura anterior para restaurar o serviço.

Alguns usuários ainda podem encontrar problemas para entrar no Console devido ao cache do navegador. Pedimos desculpas pela interrupção causada.

Linha do tempo (PST)

  • 16:00 início do incidente (aumentaram os erros de autenticação/validação de tokens)
  • 16:35 causa raiz identificada (JWKS em cache enquanto a chave de assinatura foi rotacionada)
  • 16:41 cache limpo
  • 16:49 chave de assinatura revertida
  • 17:00 serviço recuperado; monitoramento contínuo

Detalhes do incidente

Impacto

Durante o período do incidente, alguns usuários não conseguiram fazer login e algumas validações de tokens falharam. Isso afetou vários locatários de produção e também poderia bloquear o acesso ao Console do Logto.

Não vimos nenhuma evidência de acesso não autorizado relacionado a esse incidente; o impacto ficou restrito a falhas de autenticação.

Ação do cliente

Se você ainda não consegue acessar o Console do Logto, tente:

  • abrir uma janela anônima/privada, ou
  • limpar/desativar o cache do navegador e tentar novamente

O que aconteceu

  1. Atualizamos as configurações de cache do JWKS para os domínios dos clientes (*.logto.app). O cache de JWKS foi inadvertidamente mantido ativo em nosso domínio Cloud (*.logto.io).
  2. Rotacionamos a chave de assinatura para nosso serviço Cloud. Como as respostas de JWKS para *.logto.io estavam em cache, alguns clientes continuaram usando um JWKS desatualizado e não conseguiram validar tokens recém-emitidos.
  3. Limpamos o cache do JWKS para *.logto.io, revertendo para a chave de assinatura anterior, e limpamos novamente o cache do JWKS para garantir que os clientes recebessem o conjunto de chaves revertido.
  4. A autenticação foi restabelecida. Alguns usuários ainda podem ver problemas de login no Console devido ao cache do navegador.

Lições aprendidas

A rotação de chave não é apenas uma tarefa de gerenciamento de chaves. É uma mudança de compatibilidade ponta a ponta que deve considerar o comportamento de cache entre emissores e validadores. Derivações de configuração entre domínios (*.logto.app vs *.logto.io) representam um risco real. Mudanças seguras para um domínio podem quebrar outro se não forem aplicadas de forma consistente.

Nossos testes de integração existentes não cobriam o comportamento de cache de JWKS parecido com produção, então esse modo de falha não foi exercitado antes da rotação.

Ações preventivas

Estamos implementando:

  • invalidação do cache de JWKS como etapa obrigatória no fluxo de rotação da chave de assinatura (rotacionar somente após a conclusão da invalidação)
  • manter o cache de JWKS desativado até a conclusão do fluxo de invalidação; em seguida, reativar o cache para performance
  • testes de integração parecidos com produção para rotação de chave, incluindo comportamento de cache de JWKS e validação da invalidação do cache