2016-01-06 57 views
1

我有一个需求,我需要在默认情况下需要将新用户登录到Meteor应用程序,然后将用户带到重置密码路由。如何在默认情况下登录新用户邮件邀请流星?

我看着这documentation,但我不认为它适用于此,因为密码不知道。以下是我的使用案例详细信息: -

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

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

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

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

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

+0

为什么重置密码路由要求您登录?为什么不把它留在认证逻辑之外呢? –

+1

通过[cloak.ly](https://cloak.ly)邀请,您可以进入*注册*页面,该页面允许用户输入他们的电子邮件地址并设置其密码。该页面还会告诉您谁邀请您和何时。经历一个重置周期似乎很奇怪。邀请的一个有趣的方面是被邀请者可以选择注册一个不同的电子邮件地址(例如,你通过他们的工作电子邮件邀请他们,但他们想用个人地址注册)。 –

回答

1

我看着这个文档,但我不认为它适用于 这里,因为密码是未知的。

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

所以可能的解决方案:

1)创建查询(http://app/[email protected])的路线,随机密码提供的电子邮件帐户,重置登录后立即发送密码的电子邮件。 (创建登录自动登录用户)。这也需要一些安全密钥,以便没有人可以在不同的电子邮件地址上创建大量帐户。

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