我正在尝试使用 Node、Express、Express-Session 和 Passport.js 实现简单的身份验证。作为存储中间件,我使用connect-pg-simple,就像我在项目中使用 pg-promise 一样。
我设法配置护照以与我的路由器一起使用,但由于某种原因会话不会保存到我的数据库中。没有一个插件返回任何错误,一切似乎都运行顺利,但我的会话表是空的。
我可能做错了什么?connect-pg-simple 连接到服务器,passport.js 正在保存会话,express-session 将配置的 maxAge 分配给 cookie。
服务器.js
const express = require('express');
const db = require('./database.js');
const cors = require('cors');
const helmet = require('helmet');
const session = require('express-session');
const passport = require('passport');
const port = process.env.PORT || 3000;
const app = express();
const pgSession = require('connect-pg-simple')(session);
const pgStoreConfig = {
pgPromise: db.conn
};
app.set('trust proxy', 1);
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(
session({
secret: REDACTED, // need to change it …Run Code Online (Sandbox Code Playgroud)