未定义护照要求用户

时间:2019-02-14 15:28:58

标签: javascript node.js reactjs express passport.js

我已经为护照设置了快递,但是我无法通过身份验证!

我已经设置了其余的api并可以正常工作。会话已生成并存储在数据库中。它在响应中发送给客户端。但是,当我向服务器发出请求以确认用户已登录时,它失败了。 isAuthenticated()为false,res.user未定义

authRoutes.get("/loggedin", (req, res, next) => {

  if (req.user) {
    res.status(200).json(req.user);
    return;
  }
  res.status(403).json({ message: "Unauthorized" });
});

护照配置

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

app.use(passport.initialize());
app.use(passport.session());


app.use(
  cors({
    credentials: true,
    origin: ["http://localhost:3000"]
  })
);

与客户打个电话

    fetch("http://localhost:5000/api/loggedin", {
      method: "GET",
      headers: {
        // Accept: "application/json",
        "Content-Type": "application/json"
      },
      credentials: "include",
      withCredentials: "true"
      // mode: "no-cors"
    })
      .then(response => response.json())
      .then(data => {
        console.log("data from /loggedin is", data);
      });
  }

我希望路由“ loggedIn”将返回状态200 OK。但是,我不断获得未经授权的状态403。 res.user属性始终未定义。

0 个答案:

没有答案