错误:OAuth身份验证需要会话支持

时间:2018-11-01 14:51:06

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

我正在尝试为我的Web应用程序简单地使用Twitter OAuth。 那就是我的index.js文件:

const express = require("express");
const passport = require("passport");
const session = require("express-session");
require("./services/passport");

const app = express();

require("./routes/authRoutes")(app);

app.use(
  session({
    secret: "keyboard cat",
    resave: false,
    saveUninitialized: true
  })
);

app.use(passport.initialize());

app.use(passport.session());

app.listen(5000);

现在,即使我实现了会话,我仍然会得到需要会话支持的错误:

Error: OAuth authentication requires session support. Did you forget to use express-session middleware?

我已经解决了数十个github问题和stackoverflow问题,但是找不到正确的答案。希望你能帮助我

1 个答案:

答案 0 :(得分:2)

您需要在所有中间件(例如会话和通行证)之后放置require(“ ./ routes / authRoutes”)(app)语句。

您可以尝试在app.listen前面的require语句上方放置一行吗。