You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现customer.app.com与admin.app.com的独立Cookie会话?

实现customer.app.com与admin.app.com的独立Cookie会话方案

要解决两个子域名站点共享Cookie导致会话混淆的问题,核心是通过Cookie的属性配置实现隔离,以下是具体可行的方案:

1. 为不同站点设置专属的Cookie Domain

默认如果Cookie的Domain设置为.app.com,所有子域名都会共享该Cookie。要实现隔离,需动态设置Domain:

  • 当请求来自admin.app.com时,api接口设置Cookie的Domain为admin.app.com,而非顶级通配的.app.com
  • 当请求来自customer.app.com时,同理设置Domain为customer.app.com
  • 实现方式:通过请求头的Origin或Referer字段识别请求来源站点,在Set-Cookie响应头中动态指定对应的Domain值

2. 使用差异化的Cookie名称

如果需要保持Domain为.app.com(比如有跨子域名的其他需求),可以通过不同的Cookie名称做隔离:

  • 给admin站点的令牌命名为admin_accessToken、admin_refreshToken
  • 给customer站点的令牌命名为customer_accessToken、customer_refreshToken
  • 接口处理请求时,根据请求来源读取对应名称的Cookie,各自维护独立的会话状态

3. 配合Path属性强化隔离(辅助手段)

可以给不同站点的Cookie设置专属Path:

  • admin站点的Cookie设置Path=/admin
  • customer站点的Cookie设置Path=/customer
  • 注意:这种方式仅当api接口的路径有明确区分时生效,通常作为前两种方案的补充,不能单独作为核心隔离手段

验证方法

完成配置后,通过浏览器开发者工具(Application -> Cookies)验证:

  • 登录admin.app.com后,仅能看到Domain为admin.app.com或名称带admin前缀的Cookie
  • 登录customer.app.com后,仅能看到对应自己站点的Cookie,两个站点的Cookie完全独立

内容的提问来源于stack exchange,提问作者FindL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 19:15:58