Javascript 是否正确使用了onEnrollmentLink()函数?
我想捕捉当用户点击注册链接时,做一些事情,然后让正常的注册流程继续。但是当我使用Javascript 是否正确使用了onEnrollmentLink()函数?,javascript,meteor,Javascript,Meteor,我想捕捉当用户点击注册链接时,做一些事情,然后让正常的注册流程继续。但是当我使用onerollmentlink()函数时,它会阻碍用户的旅程 我试过: Accounts.onEnrollmentLink(函数(令牌,完成){ set('mySessionVar','something'); 完成(); }); 我尝试返回已完成的回调returndone()或返回完成;但这也不起作用 文件规定: done:注册UI流完成时要调用的函数。在调用此函数之前,将暂停正常登录过程,以便即使用户B已登录,
onerollmentlink()
函数时,它会阻碍用户的旅程
我试过:
Accounts.onEnrollmentLink(函数(令牌,完成){
set('mySessionVar','something');
完成();
});
我尝试返回已完成的回调returndone()代码>或返回完成
;但这也不起作用
文件规定:
done:注册UI流完成时要调用的函数。在调用此函数之前,将暂停正常登录过程,以便即使用户B已登录,也可以注册用户A
遗憾的是,文档中没有示例,文本也不清楚。有人知道实现此功能的正确方法吗?对于任何到达这里的人,因为他们对文档有点困惑
Accounts.onEnrollmentLink(...)
用于flowRouter,因为它是官方的Meteor路由器(不是唯一的,而是官方的)
为了完成整个注册过程,只需设计您特别想要的。
例如,常见的情况是,通过邀请然后用户访问完成登船,用户将输入所需密码:
创建用户:
const user = { username, email, password };
把它放进去
let userId = Accounts.createUser({ username, email, password });
接
Accounts.sendEnrollmentEmail(userId);
用户单击链接并导航到您的站点,在前端您可以使用表单请求密码如果您使用的不是Flow router,而是Angular、React或VueJS等另一个前端,则您永远不会询问Accounts.OneRollmentLink(…)
。您将执行下一步
function findByEnrollToken(token: string) {
return Meteor.users.findOne({ "services.password.reset.token": token });
}
Accounts.resetPassword(令牌,newPassword,[callback])
设置新的用户密码,其中密码是在前端设置的就是这样,您还可以在同一个提交函数中使用
Accounts.verifyEmail(令牌,[callback])
以及Accounts.resetPassword()
。对于任何到达此处的用户,因为他们与文档有点混淆
Accounts.onEnrollmentLink(...)
用于flowRouter,因为它是官方的Meteor路由器(不是唯一的,而是官方的)
为了完成整个注册过程,只需设计您特别想要的。
例如,常见的情况是,通过邀请然后用户访问完成登船,用户将输入所需密码:
const user = { username, email, password };
把它放进去
let userId = Accounts.createUser({ username, email, password });
接
Accounts.sendEnrollmentEmail(userId);
function findByEnrollToken(token: string) {
return Meteor.users.findOne({ "services.password.reset.token": token });
}
Accounts.resetPassword(令牌,newPassword,[callback])
设置新的用户密码,其中密码是在前端设置的也就是说,您还可以在同一提交函数中使用
帐户.verifyEmail(令牌,[callback])
以及帐户.resetPassword()
。“用户B保持登录状态,这是不正确的。”因此,您想在新用户注册时注销所有其他用户吗?是的。这实际上就是注册的正常工作方式,我只是想让正常的注册流程继续,但当我使用此函数时,流程被暂停,我无法重新启动它。你不能在回调开始时调用Meteor.logout()
?这将注销当前用户,当然,但这里的问题是流被挂起,因此新用户没有登录。我会更新这个问题,让它更清楚。嗨,你有没有让它工作过?似乎当用户点击链接时,my Accounts.OneRollmentLink甚至不会被调用。“用户B保持登录状态,这是不正确的。”因此,当新用户注册时,是否要注销所有其他用户?是的。这实际上就是注册的正常工作方式,我只是想让正常的注册流程继续,但当我使用此函数时,流程被暂停,我无法重新启动它。你不能在回调开始时调用Meteor.logout()
?这将注销当前用户,当然,但这里的问题是流被挂起,因此新用户没有登录。我会更新这个问题,让它更清楚。嗨,你有没有让它工作过?似乎当用户点击链接时,my Accounts.OneRollmentLink甚至不会被调用。为什么我们需要执行步骤3?如果我们基于令牌获取用户,那么该令牌将用于什么?我看不出它在第4步或之后的文本中被使用。你不需要这样做,它被展示为OneRollmentLink方法用途的替代示例。如果您想在后端实现一些逻辑(例如:发送电子邮件等),则可以使用步骤3。第4步是前端暴露。这里的关键用法是令牌用法。为什么我们需要执行步骤3?如果我们基于令牌获取用户,那么该令牌将用于什么?我看不出它在第4步或之后的文本中被使用。你不需要这样做,它被展示为OneRollmentLink方法用途的替代示例。如果您想在后端实现一些逻辑(例如:发送电子邮件等),则可以使用步骤3。第4步是前端暴露。这里的关键用法是令牌用法。