gpt4 book ai didi

javascript - 在 NodeJS 中使用 MySQL 的 Passportjs

转载 作者:行者123 更新时间:2023-11-30 23:09:38 24 4
gpt4 key购买 nike

大家好,我尝试连接到 MySQL 数据库以通过 passport.js 对用户进行身份验证,我不知道我的源代码有什么问题。当我提供正确或错误的用户和密码信息时,都会导致重定向失败。谁能告诉我怎么了?我对此很陌生。

这是我的源代码:

var flash = require('connect-flash');
var express = require('express');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
app.use(flash());
app.use(passport.initialize());
app.use(passport.session());
passport.use(new LocalStrategy(function(username,password,done){
connection.query("select * from userinfo where UserName='"+username+"' ",function(err,user){
if(err)
{
return done(err);
}
if(!user)
{
return done(null,false,{message: 'Incorrect user name'});
}
if(user.password != password)
{
return done(null,false,{message: 'Incorrect password'});
}

return done(null,user);

});
}
));

passport.serializeUser(function(user, done) {
done(null, user);
});

passport.deserializeUser(function(user, done) {
done(null, user);
});

app.post('/validates', passport.authenticate('local',{successRedirect: '/productdisplay', failureRedirect: '/validate', failureFlash: true }));

并且 flash 消息也不起作用。请告诉我,我几乎花了很多时间在这上面,但我没有得到任何错误。我不知道如何解决这个问题。

最佳答案

要序列化用户,您需要发送 user.id 而不是用户

passport.serializeUser(function(user, done) {
done(null, user.id);
});

检查这个要点 Passport js with MySQL

查看全 Node 应用Passport js with MySQL

关于javascript - 在 NodeJS 中使用 MySQL 的 Passportjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20418875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com