hosna
(hosna)
1
您希望完成什么工作?
我有一个移动应用程序。Discourse 是我的身份验证源。用户需要输入用户名和密码才能登录移动应用。然后,我将调用 Discourse 的登录 API 来验证用户。
现在,移动应用中有一些指向 Discourse 论坛的链接。我希望用户在点击这些链接时能自动登录到论坛。目前,用户需要两次输入密码:第一次是登录应用时,第二次是登录论坛时,这带来了非常糟糕的用户体验。
既然可以通过电子邮件发送链接实现无密码登录,我认为此流程也应该可行。或许可以通过一个简单的插件来实现。
您希望何时完成?
1 周。
您能为此任务提供的预算(美元)是多少?
300 美元
2 个赞
angus
(Angus McLeod)
3
嘿 
这实际上比看起来要复杂一些。
通过电子邮件登录的工作原理是:当你在登录弹窗中点击“使用电子邮件”按钮时,系统会生成一个特定于该用户的令牌,并将其存储在 email_tokens 中。你可以在链接中看到该令牌(即那串数字和字母):
http://localhost:3000/session/email-login/69c4953ff0726b5f4c2b26c1e3563b79
你必须在每次用户登录你的应用时,为应用中的链接生成这样的令牌。我认为(?)该功能目前尚未通过 API 公开,因此你需要先设置一个端点。
该端点必须通过身份验证进行保护。你需要在你的应用中实现相应的处理机制。也许你已经有了?
接下来,你还需要考虑令牌过期等问题。令牌应该保持有效多长时间?令牌过期后,如何获取新令牌并更新链接?
感觉应该有一种比事后添加此功能更好的方式来处理这个问题。
hosna
(hosna)
4
是的,我正好也在想这个问题。既然邮件登录已经实现,那么这应该是可行的。具体的实现方式我不太清楚,也许可以通过插件来完成。如果你能做到,请告诉我。
是的,身份验证是通过 Discourse 登录 API 完成的,这方面没有问题。
邮件登录链接是否有过期时间?我们可以使用相同或类似的机制。
至于获取新令牌等其他事项,将由应用自行处理。
angus
(Angus McLeod)
5
是的,电子邮件令牌的过期时间由站点设置“电子邮件令牌有效小时数”决定。
所以,基本上您想要一个插件,该插件添加一个端点来为用户创建并返回一个 email_token,并且您会在令牌过期时定期调用它?
hosna
(hosna)
6
这对我来说足够了。
另外,由于我想将用户引导至特定主题,如果能添加主题 ID 或链接,并在登录后将用户重定向到该主题,那就完美了。
另一种方法是否可以是让应用中的链接指向你自己的后端。当你点击链接时,系统会在那一刻生成一个合适的链接,并将客户端重定向到正确的位置。
这意味着你无需在用户点击之前生成认证链接。
1 个赞
angus
(Angus McLeod)
8
是的,这在应用端可能更高效。不过,我认为 Discourse 中的端点应该保持不变。
1 个赞
system
(system)
关闭
10
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.