diff --git a/packages/utils/src/cookies.ts b/packages/utils/src/cookies.ts index 07797392d3..2c3bf55195 100644 --- a/packages/utils/src/cookies.ts +++ b/packages/utils/src/cookies.ts @@ -1,7 +1,8 @@ const Cookies = require('cookies'); const psl = require('psl'); -const useSubdomainCookies = process.env.STEEDOS_AUTH_USE_SUBDOMAIN_COOKIES === 'true'; +const useSubdomainCookies = process.env.STEEDOS_AUTH_COOKIES_USE_SUBDOMAIN === 'true'; +const sameSite = process.env.STEEDOS_AUTH_COOKIES_USE_SAMESITE || null; // 从请求的 Host 头中提取二级域名部分 function getSubdomain(host) { @@ -19,6 +20,11 @@ export function setCookie(req, res, name, value, options = {domain: null, maxAge const domain = getSubdomain(host); options.domain = `.${domain}`; // 动态设置二级域名 } + + if(sameSite){ + (options as any).sameSite = sameSite; + } + cookies.set(name, value, options); } @@ -29,6 +35,11 @@ export function clearCookie(req, res, name, options = {domain: null, maxAge: 0, const domain = getSubdomain(host); options.domain = `.${domain}`; // 动态设置二级域名 } + + if(sameSite){ + (options as any).sameSite = sameSite; + } + options.maxAge = 0; // 通过将 maxAge 设置为 0 来清除 cookie cookies.set(name, null, options); } \ No newline at end of file