我正在为我的React应用程序使用PassportJS身份验证。当我使用浏览器对端点进行身份验证和登录GET
和POST
数据时,登录似乎正常工作。但是,当我尝试从react组件中的API检索数据时,我从服务器收到500错误,指出req.user
为undefined
使用fetch()
_getItems(){
fetch('/api/items').then(function(response) {
return response.json();
}).then(function(j) {
console.log(j);
});
}
然后返回500,如果我然后只是转到浏览器中的端点localhost/api/items
我看到预期的响应没有错误。
任何想法是什么,以及为什么React似乎没有发送经过身份验证的请求?
答案 0 :(得分:0)
事实证明,fetch()调用需要明确授予对会话cookie的访问权限 {credentials: 'same-origin'}
。
_getItems(){
fetch('/api/items', {credentials: 'same-origin'}).then(function(response) {
return response.json();
}).then(function(j) {
console.log(j);
});
}
谢谢@robertklep!