如何在邮件邀请在Meteor中后默认登录新用户?

时间:2016-01-06 17:29:31

标签: meteor meteor-accounts

我有一个要求,默认情况下我需要将新用户登录到Meteor应用程序,并在此之后将用户带到重置密码路由。

我调查了这个documentation,但我认为它不适用于此,因为密码未知。这是我的用例详细信息: -

用户通过提供受邀用户的电子邮件ID来邀请其他新用户。应用程序向用户发送电子邮件邀请,要求他们转到通常需要登录应用程序的路由。

收到电子邮件邀请的新用户尚未注册该应用程序。因此,他们需要选择密码才能登录应用程序的受邀区域。

目前,我正在使用meteor-useraccounts:core包;触发FlowRouter的resetPasswd路由。使用onSubmitHook后,可以在成功重置密码后将用户重定向到正确的位置。

但是,我无法弄清楚如何首先自动登录用户。因为如果用户未登录,则不会打开重置密码页面。相反,它会显示一些错误,表明未经授权的行动。

如何通过邮件将链接发送给受邀用户,该用户会自动登录用户?

1 个答案:

答案 0 :(得分:1)

  

我查看了这个文档,但我认为它不适用   这里,因为密码不知道。

这是正确的,因此,为了实现这一点,您必须在用户输入通过电子邮件发送的链接时为该电子邮件创建帐户。或者在邀请时创建帐户。

可能的解决方案:

1)为查询(http://app/login?email=blabla@google.com)中提供的电子邮件创建一个帐户,用于登录后立即发送的路由,随机密码,重置密码电子邮件。 (创建登录自动登录用户)。这也需要一些安全密钥,因此没有人可以在不同的电子邮件地址上创建大量帐户。

2)在邀请时创建帐户,随机密码并将其作为发送给受邀用户的链接的查询参数发送。当用户进入该站点时,您将获取该密码(和电子邮件)并使用该密码登录,并立即发送该电子邮件的重置密码