Пользователи, входящие через SSO без адреса электронной почты

Это продолжение обсуждения: [Paid] Plugin- Allow no email address necessary on registration.

Является ли такой сценарий технически реализуемым?

  • Пользователи входят на форум исключительно через SSO. Поскольку в нашем родительском проекте адрес электронной почты не является обязательным, у некоторых пользователей может быть подтверждённый адрес, а у некоторых — нет. Мы доверяем этим пользователям на форуме так же, как и на нашем родительском сайте.
  • Когда пользователь без адреса электронной почты входит в первый раз, создаётся фиктивный адрес электронной почты только для удовлетворения внутренних требований Discourse к идентификаторам пользователей.
  • Эти пользователи не будут получать никаких писем, они об этом знают и согласны на такой компромисс. Если кто-то хочет получать уведомления по электронной почте, ему придётся создать учётную запись электронной почты в сервисе, которому он доверяет.

Контекст: по соображениям безопасности во многих проектах Викимедиа у пользователей есть веские причины оставаться анонимными редакторами, разрывая связь с адресом электронной почты. Именно поэтому у многих редакторов Википедии и других проектов есть учётная запись без привязанного адреса электронной почты. Мы хотим предоставить им такую же возможность присоединиться к обсуждениям на нашем форуме. Несколько пользователей уже задавали этот вопрос (в других местах или лично нам).

1 лайк

Да. Я думаю, что это должно сработать. На самом деле, я считаю, что ваша система может просто отправлять username@whatever.invalid в качестве адреса электронной почты, и это будет работать, так как, насколько я знаю, все игнорируют домен верхнего уровня invalid.

3 лайка

Спасибо, @pfaffman. Если это возможно, то, возможно, всё проще, чем мы думали. Мы используем этот плагин для аутентификации: GitHub - paviliondev/discourse-wikimedia-auth: A Discourse plugin for authenticating with Wikimedia · GitHub. Может быть, подстановка фейкового адреса электронной почты может быть реализована там?

CC @angus, просто для информации. :slight_smile:

1 лайк

Мне интересно, применяли ли вы это успешно в реальных условиях (честный вопрос)? Как выглядят логи (как самого Discourse, так и почтового провайдера) для такого экземпляра?

P.S. Всем, кто читает это в надежде избавиться от необходимости использовать email, обратите внимание: речь здесь идёт о сценарии, где «пользователи входят на форум исключительно через SSO».

2 лайка

Ха. Нет. Я не хотел намекать, что это сработает, что это хорошая идея или что это не убьёт вашу собаку. Я не знаю, что на самом деле произойдёт, если вы попробуете это.

Это просто кажется, что должно сработать. Если вам действительно это нужно и у вас есть время на тестирование, возможно, это сработает.

Да, это зависит от SSO и от того, что SSO лжёт, утверждая, что email подтверждён.

Было бы лучше, если бы что-то было сделано для отключения email для таких пользователей, и я точно не знаю, что происходит, когда ваш почтовый сервер получает домен с некорректным TLD. Если он повторяет попытки отправки, то вам понадобится что-то вроде плагина, который каким-то образом будет пропускать отправку таких писем с некорректным TLD, или пользовательское поле, полностью отключающее email, что в любом случае было бы хорошей идеей.

2 лайка