Отключить требование подтверждения по электронной почте для приглашенных пользователей (SSO)

Полагаю, так уже работает система, если у вас нет SSO: пользователь, приглашённый по электронной почте, не должен активировать свой адрес, так как сама ссылка в письме считается активацией.

Однако я использую WordPress в качестве SSO, и если я приглашаю кого-то, процесс становится крайне трудоёмким: сначала перенаправление на экран входа, затем необходимость нажать «Регистрация», заполнить форму, после чего требуется подтвердить адрес электронной почты, и только когда вы наконец попадаете на форум, нужно нажать «Войти» — и всё это до того, как вы сможете зайти.

Есть ли способ:

  • Сделать так, чтобы приглашённая ссылка по умолчанию вела на страницу Регистрации, а не на страницу входа
  • Отменить необходимость активации по электронной почте

Это очень помогло бы! Спасибо.

Привет, Шон, извини, но я немного запутался.

Откуда именно вы отправляете это приглашение? Не могли бы вы описать по шагам, как процесс происходит сейчас, например:

  1. Я захожу в WordPress
  2. Заполняю форму для нового пользователя, чтобы пригласить его…

А также шаги, которые вы хотели бы видеть, например:

  1. Я захожу в WordPress
  2. Я…

Привет, извините за путаницу, я имею в виду использование системы приглашений Discourse.

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

Также к сведению: я настроил систему так, чтобы приглашённые получали уровень TL1, но при тестировании это игнорировалось, и им присваивался уровень TL0.

Хорошо, я понял. В таком случае

Насколько я понимаю, в настоящее время клиент DiscourseConnect Provider не может отличить запрос на вход, возникший в результате перехода по приглашению, от запроса на вход с обычной страницы входа. Иными словами, процесс выглядит следующим образом:

  1. Пользователь A создаёт приглашение в Discourse.
  2. Пользователь B переходит по ссылке-приглашению (в Discourse).
  3. Поскольку настроен DiscourseConnect, Discourse перенаправляет Пользователя B в WordPress.

В данный момент я не думаю, что плагин WP Discourse может различить запрос, аналогичный пункту 3 (т. е. перенаправление из приглашения), и запрос, поступающий, когда пользователь просто нажимает кнопку «Войти» в Discourse. Иными словами, вам пришлось бы перенаправлять все входящие запросы на аутентификацию на страницу регистрации, что, вероятно, не является тем, что вам нужно.

@david, просто уточняю: всё ли я правильно понял :point_up_2:?

1 лайк

Да, это звучит правильно :+1:

2 лайка

@Shauny Кратко: чтобы поток приглашений работал так, как вы хотите, необходимо обновить сам протокол DiscourseConnect (то есть то, как он функционирует в Discourse).

Хорошо. А как насчет письма для подтверждения? Оно ведь знает, что этот адрес электронной почты был приглашен, так что не может ли оно пропустить этот дополнительный шаг?

Удаление проверочного письма, помимо того что это небезопасно, создаёт ту же проблему.

Невозможно отличить описанный вами сценарий от других ситуаций на стороне WordPress. Даже если бы это было возможно, это всё равно не рекомендуется, так как вы можете поделиться ссылкой-приглашением, так и не отправив её кому-либо по электронной почте.

Таким образом, автоматическое перенаправление на регистрацию может стать возможным при обновлении протокола DiscourseConnect, но отключение проверки по электронной почте, вероятно, невозможно (без ущерба для безопасности вашего сайта).

Но если вы отправляете ссылку-приглашение по электронной почте и пользователь переходит по ней из письма, его адрес электронной почты уже подтверждён. Если вы не используете SSO, всё работает автоматически, и дополнительная проверка почты не требуется!

Насколько я понимаю, в текущем состоянии Discourse не может сообщить провайдеру SSO, что электронная почта была подтверждена по приглашению, и провайдер SSO также не сообщает об этом Discourse.

2 лайка

Действительно, в основном продукте должна быть возможность отключить активацию по электронной почте. У меня Discourse настроен с SSO, а шаг проверки электронной почты создает много препятствий для новых пользователей.

Существует плагин, который это отключает, но, к сожалению, у меня нет доступа для установки плагинов на моем хостинге (и, похоже, он работает не для всех): Disable Email Verification for Discourse Plugin

Очень расстраивает невозможность отключить активацию по электронной почте, и за многие годы было много постов от разных людей, сталкивающихся с этой проблемой. Основной продукт должен позволять администраторам настраивать сервер так, как они хотят.

1 лайк