Postmortem: unerwartete JWT-Änderung von `iss`
Vorfallsbericht für die unerwartete JWT-Änderung von `iss` am 18.03.2024.
Vorfallsbericht für die unerwartete JWT-Änderung von `iss` am 18.03.2024.
Am 18.03.2024 führte ein Update, das das Verhalten des JWT-Ausstellers in Logto Cloud änderte, dazu, dass Authentifizierungsabläufe für Benutzer mit benutzerdefinierten Domains und iss-Validierung unterbrochen wurden. Um dies zu beheben, mussten diese Benutzer ihre Validierungslogik aktualisieren.
iss-Validierung.iss-Validierung innerhalb der Authentifizierungsabläufe.Das Update änderte das iss-Feld, um mit der angeforderten Domain übereinzustimmen, wodurch bestehende Validierungen unterbrochen wurden, die den vorherigen Standardaussteller erwarteten.
iss-Verhaltens.Logto Cloud unterstützt benutzerdefinierte Domains für Authentifizierung. Entwickler, die Mieter mit aktivierten benutzerdefinierten Domains haben, können den Endpunkt in SDKs auf die benutzerdefinierte Domain setzen. Der Endbenutzer verwendet diesen Endpunkt, um den Authentifizierungsprozess zu starten und Tokens zu erhalten. Einige Tokens liegen in Form von JWT vor, das ein iss-Feld enthält, das den Aussteller dieses Tokens angibt. Bisher wurde bei Verwendung eines benutzerdefinierten Domain-Endpunkts zur Anforderung eines Zugriffstokens der Aussteller standardmäßig auf unsere Standarddomain ([tenant-id].logto.app) gesetzt.
Der Domain des Ausstellers sollte jedoch mit dem angeforderten Endpunkt übereinstimmen. Daher haben wir ein Update veröffentlicht, um dieses Problem zu beheben, und das iss-Feld wird nun automatisch die bei der Anforderung verwendete Domain widerspiegeln.
Für diejenigen, die bereits eine benutzerdefinierte Domain verwenden, um Tokens zu erteilen und eine iss-Feldvalidierung im Ressourcenaserver implementiert haben, könnte dies eine erhebliche Änderung sein. Die bestehende Authentifizierungsprüfung schlägt aufgrund der Änderung des Ausstellers fehl. Um dies zu beheben, müssen die Entwickler den Validierungscode ändern und den erwarteten Aussteller auf den neuen mit der benutzerdefinierten Domain ersetzen.
Wir haben es versäumt, die Auswirkungen auf bestehende iss-Validierungen vollständig zu berücksichtigen. Als Ergebnis wurde diese Veröffentlichung zu einer erheblichen Änderung ohne vorherige Benachrichtigung.
Benachrichtigung der betroffenen Benutzer per E-Mail mit dem Hinweis, ihre iss-Validierung zur Übereinstimmung mit der angeforderten Domain zu aktualisieren.
Die Änderung ist eine notwendige Korrektur für das Ausstellerfeld, und einige Benutzer haben sich möglicherweise bereits an das neue Verhalten angepasst. Eine Rücknahme würde zu Verwirrung und Inkonsistenz führen.