我在这里遇到这个奇怪的问题。我在我的应用程序中使用Passport.js进行身份验证(使用Express.js和Passport.js)。我也将会话存储到数据库中。
现在,每当我尝试在我的应用程序中使用护照会话(app.use(passport.session())
)时,它就会给我500 Internal server error
。我甚至无法加载索引页面。但有趣的是,如果我在我的代码中评论该行,一切正常。这是我的护照配置代码
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cors(corsOptions));
app.options('*', cors());
app.use(validator());
app.use(cookieParser('secret'));
app.use(express.static(path.join(__dirname, 'public')));
app.use(session({
store: new pgSessionStore( {
knex: require('knex')(require('./knexfile')[process.env.NODE_ENV || 'development']),
tableName: 'sessions',
createtable: false
}),
secret: 'secret',
secure: true,
httpOnly: true,
resave: false,
saveUninitialized: false,
cookie: { maxAge: 30 * 24 * 60 * 60 * 1000 }
}));
app.use(passport.initialize());
//app.use(passport.session());
app.use(flash());
任何人都可以指出可能导致此行为的原因吗?谢谢!
答案 0 :(得分:0)
点击此处,也许您可以尝试替换app.js
中的某些代码,例如以下链接:
https://github.com/egin10/login-passport/blob/master/app.js
在39
到48
这是为了定义Passport策略: https://github.com/egin10/login-passport/blob/master/routes/users.js
我希望它可以帮到你。 也许你的会话问题,你可以尝试检查上面的一些链接。