Postmortem: cambio inaspettato di JWT `iss`
Rapporto sull'incidente per il cambio inaspettato di JWT `iss` del 18-03-2024.
Rapporto sull'incidente per il cambio inaspettato di JWT `iss` del 18-03-2024.
Il 18-03-2024, un aggiornamento che ha modificato il comportamento dell'emittente JWT in Logto Cloud ha interrotto i flussi di autenticazione per gli utenti con domini personalizzati e validazione iss. La correzione ha richiesto a questi utenti di aggiornare la loro logica di validazione.
iss.iss nei flussi di autenticazione.L'aggiornamento ha modificato il campo iss per adattarsi al dominio richiesto, interrompendo le validazioni esistenti che si aspettavano l'emittente predefinito precedente.
iss.Logto Cloud supporta i domini personalizzati per l'autenticazione, gli sviluppatori che hanno tenant abilitati con domini personalizzati possono impostare l'endpoint sul dominio personalizzato nelle SDK, quindi l'utente finale utilizzerà questo endpoint per iniziare il processo di autenticazione e ottenere i token. Alcuni token sono nella forma di JWT, che include un campo iss che indica l'emittente di questo token. In precedenza, anche quando veniva utilizzato un endpoint di dominio personalizzato per richiedere un token di accesso, l'emittente rimaneva il nostro dominio standard ([tenant-id].logto.app).
Ma il dominio dell'emittente dovrebbe essere lo stesso dell'endpoint richiesto. Quindi abbiamo rilasciato un aggiornamento per risolvere questo problema, e ora il campo iss rifletterà automaticamente il dominio utilizzato nella richiesta.
Per coloro che stanno già utilizzando un dominio personalizzato per concedere token e hanno implementato la validazione del campo iss nel server delle risorse, questo potrebbe essere un cambiamento dirompente. Il controllo di autenticazione esistente fallirà a causa del cambio di emittente. Per risolvere questo, gli sviluppatori devono modificare il codice di validazione, sostituire l'emittente previsto con il nuovo con dominio personalizzato.
Non siamo riusciti a considerare completamente l'impatto sulle validazioni iss esistenti, di conseguenza, questo rilascio è diventato un cambiamento dirompente senza notifica preventiva.
Utenti interessati notificati via email, consigliando di aggiornare la loro validazione iss per adattarla al dominio richiesto.
Il cambiamento è una correzione necessaria per il campo emittente, e alcuni utenti potrebbero essersi già adattati al nuovo comportamento. Un rollback causerebbe confusione e incoerenza.