Продолжение обсуждения из обновления PostgreSQL 12:
После обновления на сайте появилась ошибка SAML, которой раньше не было:
Извините, произошла ошибка при авторизации вашей учетной записи. Пожалуйста, попробуйте снова.
В логе ошибок указано:
(saml) Ошибка аутентификации! invalid_ticket: OneLogin::RubySaml::ValidationError, http://www.example.com не является допустимым аудиторией для этого ответа - Допустимые аудитории: https://love.public.cat
Я использую SAML-клиент Keycloak для сайта. Неужели в плагине произошли какие-то изменения, требующие дополнительных настроек? – Кстати, этот плагин использует переменные окружения, что затрудняет его использование в среде с несколькими сайтами.
Я попытался добавить поле аудитории в Keycloak, но это ничего не изменило. Есть какие-то идеи?"}
Есть какие-то идеи здесь, @vinothkannans?
Вы указали «saml_base_url» в глобальных настройках или переменных окружения? В ссылке /auth/saml/metadata указано неверное значение www.example.com вместо love.public.cat. По умолчанию указывать значение для этой настройки не требуется.
Нет, я нигде этого не указывал. Я протестировал удаление аналогичной настройки на стороне Keycloak, и аутентификация перестала работать. Я также попробовал отключить SSO, и это тоже не сработало. Мне нужно провести дополнительное расследование, так как в разных мультисайтовых установках при одинаковых настройках SAML для Discourse и Keycloak поведение различается. Возможно, здесь есть какой-то конфликт между SSO? Например, один режим аутентификации перехватывает управление у другого в какой-то момент?
Мы никогда не тестировали плагин “discourse-saml” в среде с несколькими сайтами. Возможно, плагин несовместим с такой конфигурацией. Мы не рекомендуем включать плагин SAML для нескольких сайтов одновременно. Установите все переменные окружения в файле app.yml.