我想使用passport localStrategy在我的NodeJs Web应用程序中创建非常简单的身份验证。
app.post('/login', function(req, res) {
console.log('before auth');
passport.authenticate('local'),
function(req, res) {
// If this function gets called, authentication was successful.
// `req.user` contains the authenticated user.
// res.redirect('/users/' + req.user.username);
console.log('auth is ok');
}
});
我做了什么:
我的网页表单包含字段login和password以及action =“/ login”
在我的应用程序中的路由器中,我有这样的登录路径
提交表单后,我可以在我的控制台“auth”之前看到这意味着路由器正在运行。但是我看不到“auth is ok”,这意味着身份验证没有成功。
如何在我的应用程序中实现passport.authenticate功能?
答案 0 :(得分:0)
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
passport.use(new LocalStrategy({
usernameField: 'email',
passwordField: 'password'
}, function(email, password, next) {
//do what you want here
//call next(pass parameter here (i.e error, object)
}));
app.post('/login', function(req, res) {
console.log('before auth');
passport.authenticate('local', function(err, anotherthing){
//err and anotherThing are the parameters send by strategy (next function).
});
});
另请查看here。有关更多细节,请完成此操作。亲切的问候