浏览器的前端和后端位于不同的域中,因此阻止了它们之间作为第三方发送的cookie。
是否可以通过编程方式将Cookie列入白名单,即不通过禁用浏览器中的选项?
有关我的工作的更多详细信息:
我正在使用Cookie在仅HTTP的Cookie中发送jwt,以进行身份验证。
我正在使用带有axios(客户端)和带有express(服务器)的node.js的react,但是我相信问题与语言无关...
在客户端,每个请求都具有:
withCredentials = true
。
在服务器端,像这样构建响应(使用Express节点):
res.cookie('token', jsonToken, { httpOnly: true })
.sendStatus(httpStatus.OK);
和cors
选项(使用npm cors包):
const corsOptions = {
origin: process.env.FRONTEND_URL,
credentials: true
};
我尝试但没有奏效的东西(绝望/胡说八道的念头……):
domain
设置到服务器域,以便浏览器接受它; allowHeaders
和exposeHeaders
添加到服务器上的cors
选项,并具有以下值:['cookie', 'set-cookie']
。