我在我的流星应用程序中设置自定义身份验证系统。
当用户注册时,会向他们发送电子邮件验证链接。如果他们点击它,它会按预期将验证布尔值更改为true。
我在用户帐户设置页面中有一个按钮,允许他们在需要时重新发送验证邮件。单击此工作正常,他们会收到另一封包含不同链接的电子邮件。
点击此新链接后,它会重定向到主页,但不会验证电子邮件地址。
我的猜测是,用户帐户并不知道新令牌。
//server code
Meteor.methods({
'sendVerificationEmail' : function(userId, primaryEmail){
var userId = Meteor.user();
Accounts.sendVerificationEmail(userId, primaryEmail, function (error) {
if (! error) {
return alert('Verfication email sent');
} else {
return alert(error);
};
});
}
});
//Client code
Accounts.onEmailVerificationLink(function (token, done) {
Accounts.verifyEmail(token, function (error) {
if (! error) {
console.log('Account verified');
alert('Account verified');
}
done();
// show something if there was an error.
});
});
// Email verification route
Router.route('/verify-email/:token', {
name: 'verifyEmail'
});