简体   繁体   English

没有使用本地护照策略在Node JS中调用passport.use方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM