跨域设 set-cookie 不成功

在 a.baidu.com 页面,请求 b.baidu.com/c 接口。

在 b.baidu.com/c 接口请求成功,并且在返回头设置了允许跨域,以及set-cookie ,set-cookie操作如下

 res.cookie('isVisit', 1, { maxAge: 60 * 100000000, domain: '.baidu.com' })

a.baidu.com 确实接受到在返回头有看到 set-cookie

image.png

但是在 chrome > application 中没有看到对应的cookie,发起 a.baidu.com/xxx 接口也没有看到在请求头中有cookie

也试过 sameSite 改成 'none', 也不行

请问大佬们,这是什么问题,怎么解决;

阅读 2.5k
1 个回答

自己解决了,分两步:

  1. 前端发起接口请求时,axios 带上请求头 withCredentials;
  2. 服务端在返回头加上 Access-Control-Allow-Headers : Content-Type ,Authorization,
    Access-Control-Allow-Origin : ${request.headers.origin}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏