安全
00 / 00

跨子域名登录 (SSO)

通过产品级 cookie 前缀和 COOKIE_DOMAIN 管理跨子域登录

跨子域名登录 (SSO)

默认建议不设置 COOKIE_DOMAIN,让浏览器把 session cookie 绑定到当前 host。这样同一个顶级域名下的多个产品不会互相共享登录态。

如果同一个产品有多个子域名(如 app.example.comapi.example.com),可以通过设置 COOKIE_DOMAIN 环境变量实现跨子域名单点登录。多产品共用一个顶级域名时,还要给每个产品设置不同的 AUTH_COOKIE_PREFIX

# products/01mvp/packages/config/.env
AUTH_COOKIE_PREFIX=01mvp-session
COOKIE_DOMAIN=.example.com

配置后,Better Auth 的 session cookie 会设置在 .example.com 域下,所有子域名共享同一个登录状态。

不要为了方便把不同产品的 Cookie 都放在 .example.com 并使用同一个前缀。这样会导致登录态串用、登出互相影响,后续排查也很困难。

这篇文档有问题?