Прямая ссылка на функцию «Отправить ссылку для входа на email»

Уже существует прямая ссылка для сброса пароля пользователя: /password-reset

Существует ли аналогичная ссылка для перехода непосредственно к функции «Отправить мне ссылку для входа на электронную почту»?

Думаю, эта тема может ответить на ваши вопросы, пожалуйста, посмотрите: Отправить мне ссылку для входа по электронной почте

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

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

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

Что решило бы проблему? Возможность включать email или имя пользователя в URL?

Не совсем. Я хотел бы иметь возможность сказать что-то вроде этого (это часть перехода от интеграции SSO обратно к стандартному Discourse):

Я хотел бы иметь возможность ссылаться на две разные страницы, где единственное, что может сделать пользователь, — это выполнить выбранный им вариант. Это доступно для сброса пароля, но не для запроса ссылки для входа. Если бы можно было предварительно заполнить email пользователя — это было бы еще лучше!

Разбираясь с обычными сообщениями об одобрении, я понял, что существует прямая ссылка для отправки ссылки для входа на электронную почту:

/login-helper/send-login-mail?login=USER_EMAIL&destination_url=%2F

Похоже, это работает нормально, но необходимо предварительно указать адрес электронной почты и целевой URL.

Для справки: также можно предварительно заполнить интерфейс сброса пароля:

/password-reset?email=USER_EMAIL

Я отмечу это как решение для будущих посетителей!

Редактирование: Я удалил это как ответ из-за проблем, указанных в последующих сообщениях.

Не получается заставить это работать :thinking:

https://meta.discourse.org/login-helper/send-login-mail?login=myemail%40gmail.com&destination_url=%2F возвращает ошибку 404, и письмо не приходит.

Чего мне не хватает?

Я не понимаю, почему это работает на моей системе, но не здесь, в Meta.

Ещё одна проблема, которую я заметил: доступ к этому помощнику сильно ограничен, и вас попросят подождать уже после 1–2 попыток. Наши участники — преподаватели и сотрудники академических учреждений, и они, скорее всего, будут подключаться с одного и того же IP-адреса. Поэтому, если этот лимит нельзя изменить, это выглядит как неприемлемый вариант :frowning:

Это проблема независимо от использования ссылки. Существует переменная окружения, которую можно установить, чтобы разрешить создание большего количества аккаунтов с одного IP-адреса.

Я думаю, это что-то другое. Мне не запретили создать учётную запись. Мне запретили запрашивать более 2–3 ссылок для входа за короткий промежуток времени. Я понимаю, почему Discourse считает это проблемой, но было бы неплохо иметь возможность обойти это ограничение.

Хм. Не уверен насчет ограничений частоты запросов на IP-адреса для ссылок входа, но если у вас много людей, находящихся за одним и тем же NAT-адресом, то вам стоит посмотреть: Available settings for global rate limits and throttling.

Я посмотрел на предложенную ссылку, Джей, но не совсем уверен, какой параметр повлиял на описанное мной поведение.

Кстати, я обнаружил, что можно просто использовать: https://my-discourse-site.com/?login=USER_EMAIL, чтобы сгенерировать ссылку для входа.

Для меня это работает, так как весь сайт настроен как приватный. Поэтому, например, на Meta это не срабатывает, так как для просмотра сайта там не требуется вход.

Возможно, вы ещё не описывали эту проблему, но когда у меня был клиент, который поехал на конференцию, где все были в одной сети Wi-Fi с одним и тем же NAT-IP-адресом, я настраивал параметры вроде этого, чтобы предотвратить ограничение скорости для всех:

Это здорово! У меня не получается это запустить, даже на сайте, требующем входа, который я пробовал, но я верю, что у вас получилось. :slight_smile:

Хм, интересно, почему так происходит. Я не могу придумать никаких других настроек, которые могли бы на это повлиять. Возможно, дело в том, что я включил DiscourseConnect (но не использую его функции SSO)?

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