我有一个使用此简化API的Node应用程序,用于检查用户是否通过身份验证(带有会话):
export default (req, res,) => {
if (!req.session || !req.session.loggedIn) {
return res.status(401).send();
}
return res.status(200).send();
};
在Postman中一切正常,但是当React客户端发出此请求时:
axios.get(`${domain}/is-auth`)
.then((res) => {
return res.status === 200;
})
.catch((err) => {
throw err;
});
...它总是得到401并返回false。服务器看不到它的会话。我正在阅读有关Cookie的信息,但是不是应该由浏览器自动保存和发送Cookie吗?如果没有,那我该怎么做?请帮忙。
答案 0 :(得分:1)
fetch
和axios
实际上不会随请求自动发送凭据,您必须通过将“ withCredentials”选项设置为 true 来指定它:
axios.get(`${domain}/is-auth`, { withCredentials: true })
.then((res) => {
return res.status === 200;
})
.catch((err) => {
throw err;
});