2016-08-04 75 views
1

我有忘記密碼的用戶。使用帳戶包時,用戶嘗試使用「重置密碼」功能重置密碼。當他們輸入他們的電子郵件地址時,它表示「未找到用戶」。嘗試重置密碼時未找到用戶

這是什麼造成的?更重要的是,我該如何解決它?我一直在試圖找到一個解決方案,因此任何幫助都會很棒。我試圖複製,但我的測試帳戶沒有相同的問題。

我的版本是Meteor 1.2,帶有accounts-password和accounts-base軟件包。我的設置是:

passwordSignupFields: "USERNAME_AND_EMAIL" 
+1

用戶是否存在?它可能是一個區分大小寫的問題? – MasterAM

回答

1

重置用戶密碼時,Meteor會嘗試通過提供的電子郵件查找用戶。它拋出了「未找到用戶」 - - 鏈接代碼here

Meteor.methods({forgotPassword: function (options) { 
    check(options, {email: String}); 

    var user = Accounts.findUserByEmail(options.email); 
    if (!user) 
    throw new Meteor.Error(403, "User not found"); 

    const emails = _.pluck(user.emails || [], 'address'); 
    const caseSensitiveEmail = _.find(emails, email => { 
    return email.toLowerCase() === options.email.toLowerCase(); 
    }); 

    Accounts.sendResetPasswordEmail(user._id, caseSensitiveEmail); 
}}); 

是向用戶提供正確的電子郵件。如果無法使用電子郵件找到用戶?檢查提供的電子郵件實際上是否存在於Meteor.users集合中的DB中

+0

所以看起來他使用了Google/G +登錄功能。我會看看我是否可以讓他再次嘗試使用它。 – CodeDragonDM

相關問題