2015-12-10 96 views
1

使用流星,是否可以在服务器上调用Accounts.verifyEmail(token)?我想验证一个用户的电子邮件而不登录他们。我已经创建了一个方法并在客户端上调用它,就像我上面写的一样,但是它失败了。流星调用服务器上的Accounts.verifyEmail?

如果有一种方法可以从客户端完成此操作,我也有兴趣知道这一点。

非常感谢提前。

回答

1

如果你不希望你的用户在提交他们的令牌后不必重写流星的方法而是登录,而不是在你的路由中调用Accounts.verifyEmail(token),你可以在服务器上调用一个方法来对付给定的令牌services.email.verificationTokens项目。如果其中一个匹配,则可以更新附加电子邮件的verified字段,然后从services.email.verificationTokens中删除令牌字段。

你应该得到:

verificationTokens: [ 
{ 
    token: '523uL7XUvlMji-yv48ErEAe8Fq2VvAuMf_oY8lJSPfJ', 
    address: '[email protected]', 
    when: Thu Dec 10 2015 19:00:52 GMT+0100 (CET) 
} 
] 

为空数组(给你的只有一个令牌验证)。

verificationTokens: [] 
+0

感谢@koOstik所以查询应该是沿着Meteor.users.find({'services.email.verificationTokens':token})的东西吗? – mtwallet

+0

对不起,我直到现在才看到您的评论。是的,这应该是这样的。如果需要,我可以编辑更多细节。 – ko0stik

+0

它的工作,感谢您的帮助 – mtwallet