我在执行授权cookie时遇到了一些问题。
当我从我的react前端(运行在端口3000上)向我的API(运行在端口8080上)发出GET请求时,我用express设置的cookie在前端中没有收到。
我正在为每个客户端类型的应用程序实现一个子域,并且在正常的“localhost”上正确地接收cookie。然而,当我尝试使用example.localhost时,根本没有接收到cookie。
我试着用axios和普通的fetches来做这件事,我似乎不能让它工作。
我使用了Same-Site,Secure等,并在CORS和Axios中将凭据设置为true。
这里有几个片段:
app.get('/api/dashboard/overview', (req, res) => {
res.cookie("test", "test", {httpOnly: false}); //Already tried Secure etc
res.send('Cookie was set!');
});
getRequest('/dashboard/overview').then(response => {
console.log(response.data);
return response;
});
export function getRequest(url) {
return axios.get(apiUrl + url, {withCredentials: true, headers: { crossDomain: true, 'Content-Type': 'application/json' }});
}
我认为问题出在subdomain.localhost的东西上,但有时cookie也不会加载到正常的localhost上。
我已经尝试向vhost添加域,但它也不起作用。
希望你们能帮上忙!
1条答案
按热度按时间lvmkulzt1#
如果你的web服务器运行在localhost:8080上,试着将这个属性添加到cors对象中。Might可以做到这一点。
字符串