我已经为护照设置了快递,但是我无法通过身份验证!
我已经设置了其余的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属性始终未定义。