gpt4 book ai didi

node.js - 在登录表单中使用护照时收到错误请求

转载 作者:太空宇宙 更新时间:2023-11-03 22:14:57 24 4
gpt4 key购买 nike

我正在尝试使用 NodeJS 中的 Passport 本地 session 创建用户登录 [.ejs 文件] 表单。我的问题是,当我点击提交按钮时,我不断收到错误的请求,任何人都可以检查我的代码并帮助我

这是我的nodejs代码:

必填:

var express = require('express');   
var bodyParser = require('body-parser');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var cookieParser = require('cookie-parser')
var expressSession = require('express-session');
var mongodb = require('mongodb');
var mongoose = require('mongoose');
var app = express();
var MongoClient = mongodb.MongoClient;
app.use(expressSession({
secret: 'secret'
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
app.set('view engine', 'ejs');

护照:

var user = mongoose.model('val', Schema);
passport.use(new LocalStrategy({
passReqToCallback: true
},
function (firstName, password12, done) {
console.log("entered Function");
user.findOne({
firstName: firstName
},
function (err, firstName) {
if (err) {
return done(err);
}
if (!firstName) {
console.log('User Not Found ' + firstName);
}
if (!isValidPassword(firstName, password12)) {
console.log('Invalid Password');
} else {
console.log('correct');
return done(null, firstName);
}
}
);
}));

登录页面:

app.get('/login', function (req, res) {
res.render('login');
});
app.post('/login', passport.authenticate('local'), function (req, res){
var userInfo = req.body;
});

最佳答案

我相信您已经发布了部分 Nodejs 文件代码?您调用的身份验证函数的代码在哪里

app.post('/login', passport.authenticate('local'), function (req, res) {
var userInfo = req.body;
});

除了authenticate方法之外,您还需要passport.serializeUser和passport.deserializeUser方法。 Passport 调用这两个函数,并且它们是必需的。

这是演示代码。请编写自己的代码并将其作为引用

passport.serializeUser(function (user, done) {
done(user.Id); // the user id that you have in the session
});

passport.deserializeUser(function (id, done) {
done({id: Id}); // generally this is done against user database as validation
});

关于node.js - 在登录表单中使用护照时收到错误请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31934688/

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