安全
00 / 00
跨子域名登录 (SSO)
通过产品级 cookie 前缀和 COOKIE_DOMAIN 管理跨子域登录
跨子域名登录 (SSO)
默认建议不设置 COOKIE_DOMAIN,让浏览器把 session cookie 绑定到当前 host。这样同一个顶级域名下的多个产品不会互相共享登录态。
如果同一个产品有多个子域名(如 app.example.com 和 api.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 并使用同一个前缀。这样会导致登录态串用、登出互相影响,后续排查也很困难。
这篇文档有问题?