Postmortem: errori di autenticazione causati dalla cache JWKS e dalla rotazione della chiave di firma
Postmortem per l'incidente di autenticazione dell'8 gennaio 2026 (PST).
Data: 8 gennaio 2026 (PST)
Durata: ~60 minuti
Impatto: alcuni tenant in produzione hanno riscontrato problemi di accesso e convalida dei token; l'accesso alla Console potrebbe essere stato influenzato
Riassunto
Un'incoerenza tra una chiave di firma ruotata e una JWKS memorizzata nella cache sul nostro dominio *.logto.io ha causato errori nella convalida dei token. Abbiamo svuotato la cache JWKS e ripristinato la chiave di firma precedente per ripristinare il servizio.
Alcuni utenti potrebbero continuare a riscontrare problemi di accesso alla Console a causa della cache del browser. Ci scusiamo per i disagi causati.
Cronologia (PST)
- 16:00 inizio dell'incidente (aumento degli errori di autenticazione/convalida token)
- 16:35 identificata la causa principale (JWKS in cache mentre la chiave di firma veniva ruotata)
- 16:41 cache svuotata
- 16:49 chiave di firma ripristinata
- 17:00 servizio recuperato; monitoraggio continuo
Dettagli dell'incidente
Impatto
Durante la finestra dell'incidente, alcuni utenti non sono riusciti ad accedere e alcune convalide dei token sono fallite. Ciò ha avuto impatto su più tenant in produzione e poteva bloccare anche l'accesso alla Console di Logto.
Non abbiamo rilevato prove di accessi non autorizzati relativi a questo incidente; l'impatto si è limitato a errori di autenticazione.
Azione richiesta ai clienti
Se non riesci ancora ad accedere alla Console di Logto, prova a:
- aprire una finestra in modalità incognito/privata, o
- svuotare/disabilitare la cache del browser e riprovare
Cosa è successo
- Abbiamo aggiornato le impostazioni di caching JWKS per i domini tenant dei clienti (
*.logto.app). La cache JWKS era erroneamente ancora attiva sul nostro dominio Cloud (*.logto.io). - Abbiamo ruotato la chiave di firma per il nostro servizio Cloud. Poiché le risposte JWKS per
*.logto.iovenivano memorizzate nella cache, alcuni client continuavano a utilizzare una JWKS obsoleta e non riuscivano a convalidare i nuovi token emessi. - Abbiamo svuotato la cache JWKS per
*.logto.io, ripristinato la chiave di firma precedente, quindi svuotato nuovamente la cache JWKS per assicurarci che i client ricevessero il set di chiavi corretto. - L'autenticazione è stata ripristinata. Alcuni utenti potrebbero comunque riscontrare problemi di accesso alla Console a causa della cache del browser.
Lezioni apprese
La rotazione delle chiavi non è solo una questione di gestione delle chiavi. Si tratta di un cambiamento di compatibilità end-to-end che deve tenere conto dei comportamenti di caching tra emittenti e validatori. La divergenza di configurazione tra domini (*.logto.app contro *.logto.io) è un rischio reale. Cambiamenti sicuri per un dominio possono causare problemi su un altro se non vengono applicati in modo coerente.
I nostri test di integrazione esistenti non coprivano il comportamento della cache JWKS simile a quello in produzione, quindi questa modalità di errore non è stata sperimentata prima della rotazione.
Azioni preventive
Stiamo implementando:
- invalidazione della cache JWKS come passo obbligatorio nel flusso di rotazione della chiave di firma (la rotazione avverrà solo dopo il completamento dell'invalidazione)
- mantenere la cache JWKS disabilitata fino a quando il flusso di invalidazione sarà implementato, quindi riabilitare la cache per motivi di prestazioni
- test di integrazione simili all'ambiente di produzione per la rotazione delle chiavi, incluso il comportamento di caching JWKS e i controlli di invalidazione della cache

