【问题标题】:How to share cookie between subdomains?如何在子域之间共享 cookie?
【发布时间】:2021-03-23 11:48:43
【问题描述】:

我有一个托管在https://logindev.example.com 的快速后端和一个托管在https://www.dev.example.com 的前端。在前端登录后,身份验证服务器会设置一个 cookie,其中“example.com”设置为域属性。但是cookie并没有保存到浏览器中。

我在响应中看到了 set-cookie

set-cookie: token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imlkb3Vnd2FybmVyQGdtYWlsLmNvbSIsInByb3ZpZGVyIjoiZW1haWwiLCJpYXQiOjE2MDc3NDkwODgsImV4cCI6MjIxMjU0OTA4OH0.dFeBqr_b58WEhsLf-q8IOM6_tANhweqbCIBngLnp1Pk; Domain=example.com; Path=/

前端是 Angular 10,并使用 HttpClient 将身份验证请求发送到身份验证后端,并将凭据标头设置为“include”。 auth 后端正在使用以下代码设置 cookie。

res.cookie('token', 'xxxxx', { domain: 'example.com' });

我已经用谷歌搜索了这个问题,但还没有运气。如果有人可以帮助我,我将不胜感激

提前致谢

【问题讨论】:

  • 感谢您的提问。 +1 点赞

标签: angular express cross-domain subdomain setcookie


【解决方案1】:

在 cookie 设置时,只需在域名的第一个使用 .

Cookie.set('key', 'value', { domain: '.example.com' })

Cookie 来自js-cookie,这是一个很棒的库,用于在浏览器中更简单地处理 cookie。这个技巧将与基域及其所有子域共享带有点域的cookie。

node环境下同上:

res.cookie('key', 'value', { domain: '.example.com' });

【讨论】:

    猜你喜欢
    • 2013-08-31
    • 1970-01-01
    • 2017-05-14
    • 2017-07-14
    • 2011-05-31
    • 1970-01-01
    • 2016-08-16
    • 2015-11-28
    相关资源
    最近更新 更多