Посмертный анализ: неожиданное изменение `iss` в JWT
Отчет о происшествии, связанном с неожиданным изменением `iss` в JWT 18.03.2024.
Отчет о происшествии, связанном с неожиданным изменением `iss` в JWT 18.03.2024.
18.03.2024 в Logto Cloud было обновление, изменяющее поведение издателя JWT, что нарушило процессы аутентификации для пользователей с кастомными доменами и проверкой iss. Для исправления проблемы таким пользователям потребовалось обновить логику проверки.
iss.iss в процессах аутентификации.Обновление изменило поле iss так, чтобы оно соответствовало запрашиваемому домену, нарушив существующие проверки, ожидающие предыдущего издателя по умолчанию.
iss.Logto Cloud поддерживает кастомные домены для аутентификации. Разработчики могут задать конечную точку с кастомным доменом в SDK, тогда конечный пользователь будет использовать эту конечную точку для инициации аутентификационной процедуры и получения токенов. Некоторые токены имеют форму JWT, которая включает поле iss, указывающее на издателя этого токена. Ранее, даже когда использовалась конечная точка с кастомным доменом для запроса токена доступа, издатель оставался нашим стандартным доменом ([tenant-id].logto.app).
Однако домен издателя должен быть таким же, как и запрошенная конечная точка. Поэтому мы выпустили обновление, чтобы устранить эту проблему, и теперь поле iss автоматически будет отражать домен, использованный в запросе.
Для тех, кто уже использует кастомные домены для выдачи токенов и реализовал проверку поля iss на сервере ресурсов, это может быть разрывным изменением. Существующая аутентификационная проверка не пройдет из-за изменения издателя. Чтобы это исправить, разработчикам необходимо изменить код проверки, заменив ожидаемого издателя на нового с кастомным доменом.
Мы не учли в полной мере влияние на существующие проверки iss, в результате чего этот релиз стал разрывным изменением без предварительного уведомления.
Уведомили затронутых пользователей по электронной почте, посоветовав им обновить свою проверку iss, чтобы она соответствовала запрашиваемому домену.
Изменение является необходимым исправлением для поля издателя, и некоторые пользователи уже могли адаптироваться к новому поведению. Откат вызовет путаницу и несоответствия.