[英]passport.use method not calling in node js using passport-local strategy
When calling login and submit form the use.authenticate() method is not executing and also not showing any error message. 调用登录并提交表单时, use.authenticate()方法未执行,也未显示任何错误消息。
Server.js file: Server.js文件:
const passport=require('passport');
const Strategy=require('passport-local').Strategy;
passport.use(new Strategy(
function (username,password,done) {
User.findOne({username:username,password:password},(err,res)=>{
if(err)throw err;
displayName=username;
console.log(res);
return done(null,res);
})
}
));
passport.serializeUser((user,done)=>{
done(null,user);
});
passport.deserializeUser((user,done)=>{
done(null,user);
});
app.post('/login',
passport.authenticate('local',{
failureRedirect:'/loginForm',
successRedirect:'/'
}
));
login.hbs file: login.hbs文件:
<article class="article">
<h1>login</h1>
<form action="/login" method="post">
Username<input type="text" name="username"><br>
Password<input type="password" name="password"><br>
<input type="submit" value="Login">
</form>
</article>
Did you initialize passport in other part of your code? 您是否在代码的其他部分初始化了护照?
app.use(passport.initialize());
app.use(passport.session());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.