Javascript Meteor:在不注销的情况下更改用户密码?
Accounts.setPassword(userId,password) 在Meteor v1.0.2之前,用户在调用此函数时没有注销 从v1.0.2开始,我引用“当用户的密码被更改时,在所有情况下,使用户的密码重置和登录令牌过期” 我不知道这一变化的原因,但事实是,上面的功能注销用户 在v1.0.2中,有没有一种方法可以在不注销用户的情况下更改用户密码 如果没有,我该如何降低套餐账户基数,使其行为与以前一样Javascript Meteor:在不注销的情况下更改用户密码?,javascript,meteor,Javascript,Meteor,Accounts.setPassword(userId,password) 在Meteor v1.0.2之前,用户在调用此函数时没有注销 从v1.0.2开始,我引用“当用户的密码被更改时,在所有情况下,使用户的密码重置和登录令牌过期” 我不知道这一变化的原因,但事实是,上面的功能注销用户 在v1.0.2中,有没有一种方法可以在不注销用户的情况下更改用户密码 如果没有,我该如何降低套餐账户基数,使其行为与以前一样 谢谢 您可以使用Accounts.changePassword()来更改密码,这不会
谢谢 您可以使用
Accounts.changePassword
()来更改密码,这不会影响用户的现有令牌(从)
如果您想在不知道现有密码的情况下从服务器上执行此操作,则必须分叉帐户密码
包并删除此行:并将此包添加到应用程序的/packages
目录中
如果您想降级您的软件包(只要您使用的meteor版本支持):
此方法现在
options
参数,其中包括options.logout
选项,该选项可用于阻止当前用户注销。上述答案是正确的,以下是您遇到困难时的准确复制粘贴代码:
Accounts.setPassword(userId, password, {logout: false});
注意:请确保您在呼叫服务器端执行此操作。我使用的是Accounts.changePassword。这有点混乱,它在客户端,但它可以工作。谢谢。下面的@Romaroma是更好的答案。这只是重申了现有答案中已有的信息。感谢反馈,我澄清了我为什么写这个答案。这应该是真正的答案。谢谢!
Accounts.setPassword(userId, password, options)
Accounts.setPassword(userId, password, {logout: false});