Плагины SAML работали с нашим AzureAD, но вчера после обновления до последнего коммита мы начали видеть следующие ошибки при попытке пользователей пройти аутентификацию через SAML:
Вход
Извините, но у нас возникли проблемы с входом.
AADSTS7500525: В сообщении SAML произошла ошибка XML в строке 1, позиция 1. Проверьте, соответствует ли содержимое XML сообщений SAML спецификациям протокола SAML.
В коммитах декабря было много изменений в SAML (например, конфигурация через настройки сайта), но я не смог понять, было ли какое-то изменение, связанное с запросами SAML, которое могло вызвать эту проблему.
Конфигурация SAML (работала нормально до обновления):
Сожалеем, что у вас возникли проблемы! Вы правы: в последние несколько недель я занимался активной рефакторингом плагина SAML, поэтому это может быть связано.
Когда это происходит? Когда пользователи инициируют вход или когда их возвращают на Discourse?
Есть ли возможность поделиться здесь URL вашего сайта или отправить его в личные сообщения?
Я также пытался найти что-то в логах Discourse, но поскольку ошибка возникает на стороне Azure, я не нашел там никаких сообщений об ошибке.
В production.log процесс входа останавливается здесь (вероятно, в ожидании ответа от Azure):
Processing by StaticController#show as HTML
Parameters: {“id”=>“login”}
Rendered static/login.html.erb (Duration: 17.5ms | Allocations: 1440)
Completed 200 OK in 19ms (Views: 18.3ms | ActiveRecord: 0.0ms | Allocations: 2104)
Started GET “/session/csrf” for <> at 2021-12-14 18:28:16 -0300
Processing by SessionController#csrf as JSON
Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 337)
Started POST “/auth/saml” for <> at 2021-12-14 18:28:16 -0300
(saml) Setup endpoint detected, running now.
(saml) Request phase initiated.
Команда, отвечающая за Azure, пытается получить XML, который они получают, чтобы, возможно, мы могли увидеть что-то «отличное» в нем. Я сообщу вам, когда они пришлют мне данные.
Ошибка возникает после того, как пользователь нажимает кнопку входа.
Затем он перенаправляется на страницу входа Azure со следующим сообщением об ошибке:
Боюсь, без доступа к сайту сложно понять, что здесь происходит.
Следующим шагом будет попытка получить XML, который поступает в Azure, и определить, в чём проблема. Вы можете сделать это, проверив полезную нагрузку в инструментах разработчика браузера, а затем декодировав её с помощью инструмента, например этого