diff --git a/packages/brick-container/serve/getProxies.js b/packages/brick-container/serve/getProxies.js index caaba3984e..1962d4a678 100644 --- a/packages/brick-container/serve/getProxies.js +++ b/packages/brick-container/serve/getProxies.js @@ -271,19 +271,18 @@ module.exports = (env) => { return JSON.stringify(result); }); } else if ( - env.cookieSameSiteNone && (req.path === "/next/api/auth/login/v2" || - req.path === "/api/auth/login/v2") + req.path === "/api/auth/login/v2") && + res.statusCode === 200 && + Array.isArray(proxyRes.headers["set-cookie"]) ) { - if ( - res.statusCode === 200 && - Array.isArray(proxyRes.headers["set-cookie"]) - ) { + const secureCookieFlags = ["SameSite=None", "Secure"]; + if (env.cookieSameSiteNone) { proxyRes.headers["set-cookie"] = proxyRes.headers["set-cookie"].map( (cookie) => { const separator = "; "; const parts = cookie.split(separator); - for (const part of ["SameSite=None", "Secure"]) { + for (const part of secureCookieFlags) { if (!parts.includes(part)) { parts.push(part); } @@ -291,6 +290,20 @@ module.exports = (env) => { return parts.join(separator); } ); + } else if (!env.https) { + proxyRes.headers["set-cookie"] = proxyRes.headers["set-cookie"].map( + (cookie) => { + const separator = "; "; + const parts = cookie.split(separator); + const filteredParts = []; + for (const part of parts) { + if (!secureCookieFlags.includes(part)) { + filteredParts.push(part); + } + } + return filteredParts.join(separator); + } + ); } } };