通过包含用户名的深链使用电子邮件进行简单登录

我想通过以下程序降低我们学校论坛的登录门槛:

  1. 通过电子邮件发送到(大部分非公开)论坛的链接应包含收件人的用户名(例如 forum.my.tld/t/123#user=toka

  2. 如果未登录用户打开此链接,一个页面将提供一个按钮,点击后可发送登录链接。

  3. 点击后,应向用户发送一个带有登录令牌的登录链接,该链接允许他们在特定时间内无需进一步操作即可打开目标页面。否则,应提供一个“重新发送登录链接”按钮。

这是否已经在其他地方实现过?

如果没有:是否存在可以用来实现它的机制?

2 个赞

您希望使用 DiscourseConnect,以便登录到您系统的用户也能登录到 Discourse。

设置 DiscourseConnect - Discourse 的官方单点登录 (SSO)

没有其他系统。
大多数用户仅通过电子邮件使用论坛。

1 个赞

我们已经支持通过电子邮件登录:

因此,自动化/简化这一过程当然是可行的。

5 个赞

是的。这是我们登录论坛的主要方式。但对大部分用户来说,这似乎太困难了。

此外,我们还面临一个问题,即一些用户在沟通中使用不相同的电子邮件地址。例如,(at)gmail.com(at)googlemail.com,或者带有点和不带点的用户名电子邮件地址。他们不记得当初在(是的,抱歉,这是德国)注册表上填写的是哪个电子邮件地址,并且要么不知道这些问题,要么不知道可以通过检查邮件头来了解他们的“登录电子邮件地址”。

因此,我正在研究一种方法,通过发送给用户的链接,让用户无需进一步了解如何使用 Discourse 登录程序即可登录。

1 个赞

当然存在安全风险,如果您愿意接受,那么一些生成我们通过电子邮件登录时生成的链接的自动化方法是可行的,只要他们已经拥有账户。

1 个赞

嗯。我在我的提议中尝试规避这一点。
我明白直接登录用户的链接是危险的。

但使用建议的机制,我看到的唯一风险是用户收到他们不想要的登录链接。

1 个赞

我已经有了一个初步可用的实现:

现在我正尝试学习如何用用户信息来装饰通知中的所有 discourse 链接。

2 个赞

此功能现已在

中实现。

在哪里可以询问有关不必覆盖核心方法的可能性,例如

以在登录后重定向到 destination_url

1 个赞