12 lines
531 B
TypeScript
12 lines
531 B
TypeScript
/**
|
||
* 根据请求 host 返回 Cookie domain。
|
||
* localhost 时不设 domain,生产环境用根域实现跨站 SSO。
|
||
*/
|
||
export function getAuthCookieDomain(request: { headers: { get: (name: string) => string | null } }): string | undefined {
|
||
const envDomain = process.env.AUTH_COOKIE_DOMAIN;
|
||
if (envDomain) return envDomain;
|
||
const host = request.headers.get("host") ?? "";
|
||
if (host.includes("localhost") || host.startsWith("127.0.0.1")) return undefined;
|
||
return process.env.AUTH_COOKIE_DOMAIN || ".hackrobot.cn";
|
||
}
|