LT-236: Add expiration time for password reset link
This commit is contained in:
1 parent
1891d1fe75
commit
6c798ad4db
3 files changed
+44
-8
No files matched your search
@@ -164,6 +164,26 @@ Meteor.methods({
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
},
|
||||
|
||||
checkResetTokenIsExpired: function(token) {
|
||||
var user = Meteor.users.findOne({"services.password.reset.token": token});
|
||||
if (!user) {
|
||||
return;
|
||||
}
|
||||
var tokenCreatedTime = user.services.password.reset.when;
|
||||
if (!tokenCreatedTime) {
|
||||
return;
|
||||
}
|
||||
// Token will be expired if created time is over 30 min as default
|
||||
tokenCreatedTime.setTime(tokenCreatedTime.getTime() + 30*60000);
|
||||
if (tokenCreatedTime < new Date()) {
|
||||
// Remove reset token
|
||||
Meteor.users.update({_id: user._id}, {$unset: {'services.password.reset': 1}});
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user