passport.session()给出了内部服务器错误

时间:2017-07-27 00:50:52

标签: node.js session express passport.js passport-local

我在这里遇到这个奇怪的问题。我在我的应用程序中使用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());

任何人都可以指出可能导致此行为的原因吗?谢谢!

1 个答案:

答案 0 :(得分:0)

点击此处,也许您可​​以尝试替换app.js中的某些代码,例如以下链接: https://github.com/egin10/login-passport/blob/master/app.js3948

这是为了定义Passport策略: https://github.com/egin10/login-passport/blob/master/routes/users.js

我希望它可以帮到你。 也许你的会话问题,你可以尝试检查上面的一些链接。