我有一个要求,我需要在默认情况下将一个新用户登录到Meteor应用程序,然后将该用户带到重置密码路线。
我查看了这个documentation,但我认为它不适用于这里,因为密码未知。下面是我的详细用例:
用户通过提供被邀请用户的电子邮件ID来邀请另一个新用户。应用程序向用户发送电子邮件invite,要求他们被带到通常需要登录到应用程序的路线。
收到电子邮件邀请的新用户尚未向应用程序注册。因此,他们需要选择一个密码来登录到应用程序的邀请区域。
目前,我正在使用meteor-useraccounts:core包;来触发FlowRouter的resetPasswd路由。使用onSubmitHook,用户可以在成功重置密码后将用户重定向到正确的位置。
但是,我不能弄清楚如何首先自动登录用户。因为如果用户没有登录,重置密码页面将不会打开。相反,它将显示一些错误,指示未经授权的操作。
如何通过邮件将链接发送给被邀请的用户,从而使该用户自动登录?
发布于 2016-01-07 01:45:06
我查看了这个文档,但我认为它不适用于这里,因为密码是未知的。
这是正确的,因此,为了实现这一点,您必须在用户输入通过电子邮件发送的链接时为该电子邮件创建一个帐户。或在邀请时创建帐户。
因此,可能的解决方案是:
1)为登录后立即发送的邮件查询(http://app/login?email=blabla@google.com)中提供的路由、随机密码、重置密码邮件创建账号。(create login自动登录用户)。这也需要一些安全密钥,这样就不会有人在不同的电子邮件地址上创建大量的帐户。
2)邀请时创建账号,随机取密码,作为发送给被邀请用户的链接的查询参数。当用户进入站点时,您使用该密码(和电子邮件)并使用该密码登录他,然后立即发送该电子邮件的重置密码
https://stackoverflow.com/questions/34639091
复制相似问题