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).
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
- 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). - Rotacionamos a chave de assinatura para nosso serviço Cloud. Como as respostas de JWKS para
*.logto.ioestavam em cache, alguns clientes continuaram usando um JWKS desatualizado e não conseguiram validar tokens recém-emitidos. - 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. - 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

