[英]Meteor: change a user password WITHOUT logout?
Accounts.setPassword(userId,password);
在Meteor v1.0.2之前,用戶在調用此函數時未注銷。
從v1.0.2開始,我引用https://github.com/meteor/meteor/blob/devel/History.md ,“在密碼更改后的所有情況下都會使用戶的密碼重置和登錄令牌失效”。
我不知道這種改變的原因,但事實是上面的功能退出用戶。
使用v1.0.2,有沒有辦法在不注銷用戶的情況下更改用戶密碼?
如果沒有,我如何降級包帳戶基礎,以便行為像以前一樣?
謝謝。
Accounts.setPassword(userId, password, options)
此方法現在支持 options
參數,其中包括options.logout
選項,可用於阻止當前用戶的注銷。
您可以使用Accounts.changePassword
( docs )來改變密碼,這不會影響用戶的現有令牌(來自) https://github.com/meteor/meteor/blob/devel/packages/accounts-password/password_server .js文件#L299-L302
如果你想在不知道現有密碼的情況下從服務器執行此操作,則必須分叉accounts-password
包並刪除此行: https : //github.com/meteor/meteor/blob/devel/packages/accounts-password /password_server.js#L338並將此包添加到您應用的/packages
目錄中
如果你想降級你的包(只要你使用meteor的版本支持它):
meteor remove accounts-password
meteor add accounts-password@1.0.3
上面的答案是正確的,以下是您遇到困難時的確切復制粘貼代碼:
Accounts.setPassword(userId, password, {logout: false});
注意:確保您正在執行此呼叫服務器端。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.