Meteor AccountTemplates/UserAccounts - 如何在电子邮件上运行验证码验证?
问题描述:
我有一些我想在用户验证他们的电子邮件后运行的代码。Meteor AccountTemplates/UserAccounts - 如何在电子邮件上运行验证码验证?
我会在哪里放?
我能想到的唯一的地方就是重定向的路线,但这有点冒失,并且依靠用户等待重定向发生。我正在使用铁路由器。
这是我第一次尝试,但重新计算功能是服务器端。
AccountsTemplates.configureRoute('verifyEmail', {
redirect: function(){
var user = Meteor.user();
if (user) {
user.recalculateSignUpReputation();
Router.go('home');
}
}
});
Here's a solution observing a cursor但这似乎是矫枉过正。我更喜欢一个事件。解决方案#1不适合我。
答
感谢您的意见。我最终这样做了。
AccountsTemplates.configureRoute('verifyEmail', {
redirect: function(){
var user = Meteor.user();
if (user) {
Meteor.call('recalculateSignUpReputation');
Router.go('home');
}
}
});
它工作在客户端,并调用服务器端代码。不是很棒,但有效。如果您有不同的/更好的方式,我会将其标记为正确的答案。
难道你不能直接在电子邮件验证路线?即用户从他们的电子邮件中点击链接,并且当您的网站执行该路线时,您会触发任何必要的操作? –
@BrettMcLain UserAccounts/AccountsTemplates正在管理那条路线,除非我错了。你什么意思? –
如何使用[matb33:collection-hooks](https://atmospherejs.com/matb33/collection-hooks)并将更新挂钩到用户对象?你可以看到'verified'标志从false变为true。 –