【发布时间】:2017-07-29 17:57:40
【问题描述】:
这是我的 Passport js 本地策略:
'use strict';
/**
* Module dependencies.
*/
var passport = require('passport'),
LocalStrategy = require('passport-local').Strategy,
User = require('mongoose').model('User');
module.exports = function() {
// Use local strategy
passport.use(new LocalStrategy({
usernameField: 'username',
passwordField: 'password'
},
function(username, password, done) {
User.findOne({
//username: new RegExp(username, 'i')
username: String(username).toLowerCase()
}, function(err, user) {
if (err) {
console.log('ERR: ', err);
return done(err);
}
if (!user) {
return done(null, false, {
message: 'Unknown user or invalid password'
});
}
if (!user.authenticate(password)) {
return done(null, false, {
message: 'Unknown user or invalid password'
});
}
return done(null, user);
});
}
));
};
我需要使用电子邮件和加盐密码(存储在 localStorage 中)在 web 视图(不是浏览器)中重新验证我的用户。
我将在此策略中进行哪些更改以使用散列/盐密码重新验证用户? (或者这是一个糟糕的主意?)
【问题讨论】:
标签: node.js express authentication passport.js