流星忘了密码& sendResetPasswordEmail数据流

时间:2014-01-23 18:52:38

标签: javascript email meteor

我不完全理解处理来自用户的“忘记密码”请求的过程。只是想找一点澄清。

在客户端上,您接收用户的电子邮件并将其传递给Accounts.forgotPassword,这会触发对服务器上Accounts.sendResetPasswordEmail的呼叫。 Accounts.forgotPassword仅将电子邮件作为参数。

因此触发Accounts.sendResetPasswordEmail实际上将电子邮件发送给用户,但是正在寻找userId ...

只是对那里的逻辑感到困惑。为什么不通过电子邮件和userId作为参数从客户端调用sendResetPasswordEmail?

1 个答案:

答案 0 :(得分:5)

重要的是要注意Accounts.sendResetPasswordEmail只能从服务器调用,并且会在调用Accounts.forgotPassword时自动为您调用。所以一般来说你不需要直接调用它,但是你可能想要通过Accounts.emailTemplates自定义电子邮件(来自主题,正文)。

当然,您可以通过方法调用Accounts.sendResetPasswordEmail,但请考虑最常见的用例:

我是系统的用户,但我没有登录(没有Meteor.userId())。我有一封附在我帐户上的电子邮件。我想仅根据该信息获取重置密码电子邮件。这正是Accounts.forgotPassword为你做的。多么方便!

另请注意,要求在必须向公众公开的路线上发送电子邮件,您本身也会过滤掉不了解您用户电子邮件的坏人。