San*_*sen 4 meteor iron-router meteor-accounts
在我的应用程序中,我想为用户播种数据库并向他们发送注册链接以激活他们的帐户(并选择密码).我还希望他们验证/更改一些配置文件数据.
在服务器上我按如下方式为数据库播种:
Meteor.startup(function () {
if(Meteor.users.find().count() === 0) {
var user_id = Accounts.createUser({ email: 'some@email.com', profile: { some: 'profile' } });
Accounts.sendEnrollmentEmail(user_id);
}
})
Run Code Online (Sandbox Code Playgroud)
注册链接按预期发送,但我想为单击电子邮件中的URL时创建自定义模板.最好由铁路由器处理.(不使用accounts-ui包).
我尝试过将用户重定向到这样的自定义路线:
var doneCallback, token;
Accounts.onEnrollmentLink(function (token, done) {
doneCallback = done;
token = token;
Router.go('MemberEnroll')
});
Run Code Online (Sandbox Code Playgroud)
哪个不起作用(它改变了网址但没有渲染我的模板)
我还尝试更改服务器上的注册URL,如下所示:
Accounts.urls.enrollAccount = function (token) {
return Meteor.absoluteUrl('members/enroll/' + token);
};
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,Accounts.onEnrollmentLink回调不会触发.此外,更改URL没有记录,所以我不确定它是一个好的做法.
任何帮助表示赞赏.
Sas*_*nth 13
在我的应用程序中,我这样做
this.route('enroll', {
path: '/enroll-account/:token',
template: 'enroll_page',
onBeforeAction: function() {
Meteor.logout();
Session.set('_resetPasswordToken', this.params.token);
this.subscribe('enrolledUser', this.params.token).wait();
},
data: function() {
if(this.ready()){
return {
enrolledUser: Meteor.users.findOne()
}
}
}
})
Run Code Online (Sandbox Code Playgroud)
注册网址是这样的
http://www.yoursite.com/enroll-account/hkhk32434kh42hjkhk43
Run Code Online (Sandbox Code Playgroud)
当用户点击链接时,他们将重定向到此模板,您可以渲染模板
在我的出版物中
Meteor.publish('enrolledUser', function(token) {
return Meteor.users.find({"services.password.reset.token": token});
});
Run Code Online (Sandbox Code Playgroud)
从用户那里获取密码后
Accounts.resetPassword(token, creds.password,function(e,r){
if(e){
alert("Sorry we could not reset your password. Please try again.");
}else{
alert("Logged In");
Router.go('/');
}
})
Run Code Online (Sandbox Code Playgroud)
注册链接
Accounts.urls.enrollAccount = function (token) {
return Meteor.absoluteUrl('enroll-account/' + token);
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1811 次 |
| 最近记录: |