Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CORS:浏览器不发送或接收cookie_Javascript_Reactjs_Cookies_Axios_Cross Domain - Fatal编程技术网

Javascript CORS:浏览器不发送或接收cookie

Javascript CORS:浏览器不发送或接收cookie,javascript,reactjs,cookies,axios,cross-domain,Javascript,Reactjs,Cookies,Axios,Cross Domain,我有一个问题,当我在生产(netlify front,heroku back)时,我的登录cookie没有被发送到浏览器(也没有发送回服务器)。当React和Express在本地运行时,一切正常——我可以看到CORS允许发出请求并将cookie发送回OK 奇怪的是,在生产中,邮递员可以登录并收到cookieOK。它只是一种反应,在本地运行和部署时,都会向部署的生产服务器发出请求,但不会返回cookie。(Heroku上的My production env变量设置为“production”,ori

我有一个问题,当我在生产(netlify front,heroku back)时,我的登录cookie没有被发送到浏览器(也没有发送回服务器)。当React和Express在本地运行时,一切正常——我可以看到CORS允许发出请求并将cookie发送回OK

奇怪的是,在生产中,邮递员可以登录并收到cookieOK。它只是一种反应,在本地运行和部署时,都会向部署的生产服务器发出请求,但不会返回cookie。(Heroku上的My production env变量设置为“production”,origin应确定以下CORS代码中的情况。)

我的express应用程序中的CORS配置为:

const cors=require('cors');
让我们开始吧http://192.168.1.132:3000'
if(process.env.NODE_env===‘生产’){
起源https://appname.app'
}
应用程序使用((请求、恢复、下一步)=>{
res.header(“访问控制-允许-来源”,来源);
res.header('Access-Control-Allow-Credentials',true);
res.header(
“访问控制允许标头”,
'来源,X请求,内容类型,接受'
);
next();
});

使用(cors({origin:origin,凭证:'true'}))控制台中出现任何关于cors错误的信息?控制台中完全没有错误。在“网络”选项卡中,您看到请求发出,它收到了什么响应?它没有收到任何响应。按下signin按钮后,它将重定向到一个页面,在该页面中还发出checkuser请求,该请求将检查是否存在cookie,并根据cookie返回数据。但是,登录时从未设置该cookie(它在本地工作,但在部署时不工作)。checkuser请求发回一条消息,说找不到cookie,因此我关闭了re direct,以便像您所说的那样查看登录请求(很抱歉,我应该早点完成!),它实际上阻止了cookie,原因是:设置的cookie没有指定“SameSite”属性,默认为“SameSite=Lax”,并且被阻止,因为它来自一个跨站点的响应,而不是对顶级导航的响应。设置Cookie必须设置为“SameSite=None”才能启用跨站点使用。-您知道在我的代码(前面或后面)的什么地方需要插入samesite=none吗?谢谢你的帮助