Use an invite code to bypass new user approval?

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

Отлично, что это будет решено!

5 лайков

Ты вообще не коснулся темы.

Чтобы присоединиться к любому экземпляру Discourse, когда-либо созданному, пользователи обязаны иметь адрес электронной почты. Иначе как пользователи могут создать учётную запись в Discourse? С помощью почтового голубя? Телеграфа? Дымовых сигналов? Факсов? :bird:

Речь идёт конкретно о сайтах, где включена настройка «сотрудники должны одобрять всех новых пользователей». Это очень узкое условие, поскольку я считаю, что в реальной жизни настройка по умолчанию в Discourse — это открытая регистрация пользователей…

Я уверен, что видел точный пример, который только что привёл Сэм, много раз. У вас есть сообщество, которое вы хотите сделать в основном приватным. Вы не знаете адреса электронной почты людей, но у вас есть какой-то другой способ с ними связаться.

Я знаю, что использовал пример с приглашением людей присоединиться к приватному форуму на конференции, поделившись URL-адресом и кодом или паролем на слайде.

Да, это крайний случай.

5 лайков

Попробуйте перечитать первый пост, где об этом ничего не говорится.

Как правило, всё, что нужно сделать, — это сказать: «Зайдите на forum.example.com и зарегистрируйтесь!»

Это, безусловно, решает проблему автора оригинального поста (OP). В долгосрочной перспективе мы можем сделать это на уровне каждого пользователя, если функция станет популярной, но пока достаточно одного кода.

2 лайка

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

1 лайк

Смысл в том, что эта функция используется вместо одобрения сотрудниками. (Её можно было бы применить, если бы вы также беспокоились, что множество ботов будут запрашивать аккаунты, но это кажется маловероятным)

Замените «username» в исходном сообщении на «invite token». Это понятно?

Нет, потому что первый пост :arrow_up: в этой теме касался регистрации пользователей без какого-либо адреса электронной почты.

Как такой пользователь без email может, например, сбросить пароль? Или даже подтвердить, что его регистрация действительна?

Именно я исправил заголовок темы — посмотрите историю редактирования того первого поста.

1 лайк

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

1 лайк

Вам не нужны их адреса электронной почты — просто отправьте им ссылку любым доступным способом (как бы вы ни общались с ними)?

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

2 лайка

Верно, но у нас уже есть персональные приглашения, которые дают повышение уровня доверия (TL bump) при регистрации этого человека:

Я поддерживаю это как способ обхода проверки новых пользователей (для сайтов, где требуется утверждение) и, возможно, даже предоставления членства в специальных группах, но как сверх_неуклюжий_ низкоуровневый вариант http-аутентификации по паролю — вряд ли? :thinking:

Также я могу поддержать идею «создать обычную https-ссылку, благодаря которой регистрация нового пользователя будет отображаться как приглашение от меня».

Но как форма странной старомодной «секретной» аутентификации 2001 года «введите HTTP-имя пользователя и пароль для доступа к этому сайту»… я действительно не могу это поддержать в таком виде. Извините, но нет. Это был бы шаг назад.

4 лайка

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

1 лайк

Давайте объединим обсуждения здесь: Optional global invite code