Пытаюсь настроить приватную группу, которая позволяет новым приглашённым пользователям присоединяться через внешних провайдеров, и в качестве отправной точки использую Google OAuth2. Я создал ссылку для приглашения и настроил проект Google OAuth2. При переходе по ссылке для приглашения появляется диалоговое окно «Создать локальную учётную запись», однако в нём отсутствует вариант входа через учётную запись Google. Если я нажимаю на ссылку «Войти», в диалоговом окне входа появляется вариант «Войти через Google», но поскольку пользователь ещё не зарегистрирован на сайте, это не работает. Как сделать так, чтобы вариант входа через Google OAuth2 появился при использовании ссылки для приглашения? Большое спасибо!
Подтвердите, пожалуйста, верно ли, что вы настроили вход через Google для своего сайта и включили настройки «только по приглашениям» и «включить локальный вход»?
Если да, то, возможно, отключение настройки «включить локальный вход» даст вам желаемый результат. Перед тестированием учтите, что, если всё сработает так, как я предполагаю, это заставит всех приглашённых пользователей, которые ранее установили пароль на сайте, входить через Google.
Кажется, логика работы приглашений с провайдерами аутентификации OAuth2 несколько раз менялась. Прошло много времени с тех пор, как я последний раз смотрел это. Если никто другой не знает, какое поведение ожидается, я, думаю, смогу проверить это на своём локальном тестовом сайте, но, возможно, смогу сделать это только завтра.
Вот моя часть этой формы. Обратите внимание, что галочка «Только по приглашениям» отсутствует. Сейчас я не могу найти эту настройку нигде. В конечном итоге я хочу включить режим «Только по приглашениям», но даже не могу переключить его в режим эксперимента в данный момент.
Сайт уже работает в режиме «Только по приглашениям», и я помню, что устанавливал это при создании сайта. Просто сейчас, когда сайт уже создан, я не могу найти эту настройку. Я могу попробовать отключить локальный вход, чтобы посмотреть, что произойдёт. Однако мне понадобится вернуть эту функцию. Идея в том, чтобы разрешить вход только по приглашениям для новых пользователей, которые смогут по своему выбору создать локальную учётную запись или привязать Google и т. д.
Это на последней версии Discourse; сайт был создан сегодня днём.
Вы находитесь на базовом уровне хостинга? На этом уровне публичный доступ отсутствует. Если вы используете собственный хостинг или другую конфигурацию, я не понимаю, почему эти настройки должны отсутствовать.
Это вполне логично! Большое спасибо.
Да, это пробный период на 14 дней. На самом деле мне не нужен публичный доступ, даже после перехода на платную подписку. Однако, как я понимаю, тариф «Базовый» должен поддерживать то, что мне нужно.
Может быть, пока воздержитесь от этого. Я не хочу предлагать ничего, что могло бы привести к тому, что вы заблокируете себе доступ к сайту. Я проверю это и сообщу вам, что обнаружу.
/u/admin-login поможет вам снова получить доступ, даже если локальный вход отключен.
Я только что протестировал это и получил ожидаемый результат. Когда опция «Включить локальные логины» отключена, при нажатии на ссылку приглашения появляется модальное окно «Войти через Google»:
Когда опция «Включить локальные логины» включена, отображается модальное окно с вводом имени пользователя и пароля:
Текст в модальном окне регистрации сообщает пользователям, что они смогут входить в систему с помощью любых социальных аккаунтов, используя свой адрес электронной почты. Думаю, пользователи поймут это так, что при следующем входе на сайт они смогут авторизоваться через Google.
При регистрации через имя пользователя и пароль пользователи сразу попадают на сайт после нажатия кнопки «Принять приглашение», поэтому единственное неудобство, которое я вижу, — это необходимость ввести пароль перед первоначальным доступом к сайту.
Я не думаю, что есть способ заставить кнопку «Войти через Google» отображаться в модальном окне приглашения, если включены локальные логины.
Что ж, это разочаровывает. Вся суть подобных служб аутентификации заключается именно в том, чтобы устранить необходимость в ещё одном бесполезном пароле.
Я надеялся дать пользователям возможность входить через Google, Facebook, Discord и т. д., чтобы им не приходилось создавать ещё одну учётную запись для отслеживания. Даже если, как здесь кажется, им не нужно будет использовать этот пароль снова. Вот это да.
@simon, большое спасибо за время, которое вы потратили на тестирование этого! Извините, что я так расстроен результатом.
Приглашения работают только при локальном входе. Ещё один вариант — разрешить людям присоединяться без приглашения, но требовать одобрения при создании учётных записей.
Я успешно протестировал ссылку-приглашение с отключенными локальными входами, и она корректно запросила учетную запись Google. Так что это, похоже, действительно работает. Меня интересует только базовый хостинг, поэтому у меня в любом случае нет выбора, кроме как использовать приватные входы только по приглашениям.
Это несколько раз менялось. Сейчас приглашения работают с провайдерами входа OAuth2. Думаю, они также работают с DiscourseConnect. Я не был уверен в этом, поэтому вчера проверил.
Верно. Но если включен локальный вход, необходимо задать пароль, что Куртис нашел раздражающим.



