【发布时间】:2015-02-19 20:02:52
【问题描述】:
我向用户发送了注册电子邮件,当他输入密码和其他详细信息时,我正在尝试重置密码,但它抛出错误
uncaught error extpected to find a document to change
如你在法师中所见
我已经订阅了用户记录
我的代码
this.route('enroll', {
path: '/enroll-account/:token',
template: 'enroll_page',
onBeforeAction: function() {
Meteor.logout();
Session.set('_resetPasswordToken', this.params.token);
s = this.subscribe('enrolledUser', this.params.token).wait();
}
}),
在我显示表单和提交事件之后
onSubmit: function(creds) {
var options = {
_id: Meteor.users.findOne()._id,
name: creds.name
}
var token=Session.get('_resetPasswordToken');
Meteor.call('updateUser', options, function(error, result) {
if(!error) {
Accounts.resetPassword(token, creds.password, function(error) {
if (error) {
toastr.error("Sorry we could not update your password. Please try again.");
return false;
}
else{
toastr.error("Logged In");
Router.go('/');
}
});
} else {
toastr.error("Sorry we could not update your password. Please try again.");
return false;
}
});
this.resetForm();
this.done();
return false;
}
一切正常,但重置密码回调未触发,控制台中显示上述错误。
我的令牌已从用户记录中删除,我可以使用登录表单登录,但
来自文档
Reset the password for a user using a token received in email. Logs the user in afterwards.
重置密码后我无法自动登录,抛出上述错误
我在这里错过了什么?
【问题讨论】:
-
以防万一有人在寻找流星就绪代码以重置密码链接stackoverflow.com/questions/30539216/…