• postmortem

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).

Gao
Gao
Founder

Smetti di sprecare settimane sull'autenticazione degli utenti
Lancia app sicure più velocemente con Logto. Integra l'autenticazione degli utenti in pochi minuti e concentrati sul tuo prodotto principale.
Inizia ora
Product screenshot

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

  1. 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).
  2. Abbiamo ruotato la chiave di firma per il nostro servizio Cloud. Poiché le risposte JWKS per *.logto.io venivano memorizzate nella cache, alcuni client continuavano a utilizzare una JWKS obsoleta e non riuscivano a convalidare i nuovi token emessi.
  3. 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.
  4. 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