Я не разработчик, поэтому даже не знаю, что искать, чтобы найти ответ на свой вопрос. Сейчас я пробую Discourse, и меня сильно беспокоит вопрос входа пользователей.
В начале пробного периода я был уверен, что после его окончания выберу SSO, но теперь не так уверен. Кажется, что при включении SSO я потеряю некоторые удобные функции Discourse (например, функцию приглашений), и я не знаю, стоит ли это того в моём случае.
Возможно ли настроить форум так, чтобы он использовал как встроенные учётные записи Discourse, так и учётные записи моего сайта? Похоже на то, как можно настроить варианты «или войдите через Facebook/Google/Apple»?
Вы знаете, что когда пользователь пытается войти или создать учётную запись, ему предлагаются поля для ввода email и пароля, а справа — варианты входа через Facebook, Google и т. д.? Могу ли я просто добавить учётную запись моего сайта как один из этих вариантов справа?
Таким образом, если пользователь хочет использовать вход с моего основного сайта и не создавать отдельную учётную запись специально для форума, он сможет это сделать, но это не будет обязательным.
Возможно ли это? И целесообразно ли это? То есть, есть ли причины, по которым мне не стоит идти этим путём? Спасибо!
Если вы имеете в виду OAuth2, OpenID Connect или любые другие плагины аутентификации, то да, их можно использовать вместе друг с другом, а также с входом по email и паролю.
Хорошие новости по этому поводу — мы недавно добавили поддержку приглашений для DiscourseConnect.
А для других методов входа:
Эти изменения уже доступны в последней версии Discourse.
Вы можете сделать это, реализовав OAuth2 на своем сервере, чтобы он мог функционировать как Google, GitHub и другие. (Или поручить это кому-то другому, поскольку вы не разработчик.)
Я с нетерпением жду появления функции совместимости между SSO и приглашениями, но, похоже, она не работает с моей стороны.
Мой основной сайт работает на WordPress, и я использую плагин WP Discourse для интеграции этих двух приложений. У меня также есть форма регистрации, которая выполняет проверку электронной почты в WordPress, и я написал собственный код, чтобы предотвратить отправку Discourse дублирующихся писем с подтверждением пользователям при регистрации. Я включил настройку must_approve_users в Discourse, чтобы никто не мог получить доступ к сообществу без утверждения.
Я следовал следующим шагам, но в итоге пользователь так и не был утвержден. Как и раньше.
Отправить приглашение пользователю по адресу электронной почты.
Пользователь открывает письмо с приглашением и нажимает на ссылку.
Пользователь перенаправляется на страницу Discourse в состоянии выхода из системы с приветственным сообщением и кнопкой призыва к действию (CTA) для продолжения.
Нажатие на кнопку CTA переводит пользователя на страницу входа в WordPress.
Так как пользователь еще не зарегистрирован в WordPress, мне пришлось создать для него новую учетную запись — что, как мне кажется, логично, поскольку WordPress не знает, что пользователь был приглашен через Discourse.
После регистрации я получаю письмо с подтверждением от WordPress. Я перехожу по ссылке в этом письме и попадаю на страницу входа в WordPress.
После входа в WordPress я пытаюсь перейти в сообщество, но не могу.
Я захожу в административную панель и проверяю статус пользователя и, как я и предполагал, он имеет статус «Требует утверждения». Это точно такая же ситуация, как и до отправки приглашения.
Что я упускаю? Нужно ли мне следовать другому сценарию? Могу ли я приглашать только тех пользователей, которые уже зарегистрированы в WordPress? Буду признателен за любые рекомендации. Спасибо.