Мой сайт (вики на базе MediaWiki) использует только имя пользователя и пароль (электронная почта опциональна при регистрации). У меня уже работает Discourse, и в настройках администратора включен SSO. При нажатии на кнопку «Войти» в Discourse происходит перенаправление на страницу входа моего сайта с nonce.
Discourse использует электронные письма для сопоставления внешних пользователей с пользователями Discourse и исходит из того, что внешние адреса электронной почты безопасны. ЕСЛИ ВЫ НЕ ПРОВЕРЯЕТЕ АДРЕСА ЭЛЕКТРОННОЙ ПОЧТЫ ПЕРЕД ОТПРАВКОЙ ИХ В DISCOURSE, ВАШ САЙТ БУДЕТ ЧРЕЗВЫЧАЙНО УЯЗВИМ!
У меня есть несколько вопросов по поводу SSO:
Просто для уточнения: после настройки SSO все зарегистрированные пользователи моего сайта смогут получить доступ к Discourse в «авторизованном» режиме без необходимости сначала регистрироваться в Discourse, верно?
Я хочу отключить все функции, связанные с электронной почтой, в Discourse (поскольку на нашем сайте электронная почта не является обязательной). То есть никаких писем от Discourse и никаких писем в Discourse (для ответов и т. д.).
Если я создам в коде SSO моего сайта фиктивный адрес электронной почты для каждого пользователя (например, unique_id@domain.xyz) и отправлю его в полезной нагрузке, это будет нормально?
Как мне настроить SSO в моем случае? Есть ли какие-то дополнительные рекомендации или советы?
Нет. Для работы Discourse на самом базовом уровне требуются действительные адреса электронной почты. Если вам нужна поддержка без использования электронной почты, возможно, стоит рассмотреть другое бесплатное программное обеспечение с открытым исходным кодом.
Я настроил работу SSO и отключил локальную регистрацию и вход на Discourse. Поэтому при нажатии на кнопку «Войти» на форумах пользователя перенаправляет на страницу входа моего сайта, а после валидации — обратно на форумы (с полезной нагрузкой, включающей фиктивный, но уникальный email-адрес).
Я также отключил все исходящие письма в настройках администратора Discourse (таким образом, Discourse не будет отправлять НИКАКИХ писем).
Я не устанавливал параметр require_activation в значение true.
Если все исходящие письма из Discourse отключены, и я использую SSO, будут ли фиктивные адреса по-прежнему проблемой? И можете ли вы объяснить, почему валидные email-адреса так важны и какие проблемы возникают с уникальными фиктивными адресами?
Если SSO работает, это может быть нормально… Думаю, вам нужно сделать эти поддельные адреса электронной почты доменными адресами определенного домена, чтобы предотвратить любые попытки отправки писем, но я не помню деталей. Вы помните @gerhard?
Правильная настройка параметра сайта disable_emailsдолжна быть достаточной, но рекомендуется использовать доменную зону .invalid на случай, если вы включите исходящую рассылку писем в будущем. Например, что-то вроде unique_id@something.invalid.