Здравствуйте,
Я использую Discourse уже около трёх недель, и пока мне очень нравятся его возможности, простота, API, документация и сообщество Meta. Это действительно отличный опыт.
В нашей компании есть веб-приложение, в которое пользователи могут входить; оно подключено к бэкенд-системе, где хранятся данные о пользователях. Теперь мы хотим также предоставить форум на базе Discourse, к которому существующие пользователи смогут подключаться через SSO.
Мы используем DiscourseConnect, который хорошо документирован здесь. Также мы используем маршрут sync_sso для мгновенной синхронизации любых изменений, которые мы вносим на нашей стороне, с Discourse. Пока всё работает отлично.
Теперь у Product Owner есть два требования, и прежде чем я решу реализовать их самостоятельно, я хочу уточнить, можно ли их настроить непосредственно в Discourse:
-
В нашей внутренней базе данных у пользователей нет имени пользователя. Однако у них есть, среди прочего, реальное имя. В нашем текущем PoC мы передаём это реальное имя вместе с ssoRecord, чтобы Discourse сохранил его и сгенерировал имя пользователя. Однако, возможно, мы не имеем на это законных оснований, и нам, возможно, придётся позволить пользователям самим решать, хотят ли они хранить своё реальное имя в нашем экземпляре Discourse и какое имя пользователя они хотели бы использовать в нашем экземпляре Discourse.
Вопрос: Можно ли определить, когда пользователь впервые использует SSO, и в этом случае перенаправить его на какую-то «Страницу приветствия», где он сможет выбрать имя и имя пользователя? В идеале эти поля должны быть предварительно заполнены значениями из ssoRecord, но пользователь должен активно подтвердить их перед продолжением действия входа через SSO, замаскированного под регистрацию. -
Говоря о подтверждении: снова, когда пользователь впервые использует SSO, есть ли способ убедиться, что пользователь прочитал и согласился с нашими условиями использования, прежде чем его данные будут фактически сохранены в базе данных Discourse?
Теоретически я мог бы реализовать оба шага на нашей стороне в нашем веб-приложении. Но снова, прежде чем я это сделаю, я хотел бы проконсультироваться и узнать, предоставляет ли Discourse что-то из коробки. Я не нашёл ничего существенного в настройках панели администратора, поэтому и спрашиваю здесь ![]()
Спасибо!
Редактирование:
Я нашёл похожую тему, где предлагается использовать опцию auth skip create confirm, однако эта опция по умолчанию уже снята с галочки.