From 489c85744b2ac9682c70abfe1cdef05566de87ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=AB=E9=81=97=E5=BF=98=E7=9A=84=E8=AE=B0=E5=BF=86?= <32097237+YIWANG-sketch@users.noreply.github.com> Date: Sat, 24 Aug 2024 20:10:53 +0800 Subject: [PATCH] adapt to the new version of cookie --- utils.mjs | 193 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 129 insertions(+), 64 deletions(-) diff --git a/utils.mjs b/utils.mjs index 2df4808..e94e7b3 100644 --- a/utils.mjs +++ b/utils.mjs @@ -21,72 +21,137 @@ function createDirectoryIfNotExists(dirPath) { } function extractCookie(cookies) { - var jwtSession = null; - var jwtToken = null; - cookies = cookie.parse(cookies); - if (cookies["stytch_session"]) { - jwtSession = cookies["stytch_session"]; - } - if (cookies["stytch_session_jwt"]) { - jwtToken = cookies["stytch_session_jwt"]; - } - return { jwtSession, jwtToken }; + var jwtSession = null; + var jwtToken = null; + var ds = null; + var dsr = null; + var youproSubscription = null; + var youSubscription = null; + var aiModel = null; + + cookies = cookie.parse(cookies); + if (cookies["stytch_session"]) jwtSession = cookies["stytch_session"]; + if (cookies["stytch_session_jwt"]) jwtToken = cookies["stytch_session_jwt"]; + if (cookies["DS"]) ds = cookies["DS"]; + if (cookies["DSR"]) dsr = cookies["DSR"]; + if (cookies["youpro_subscription"]) youproSubscription = cookies["youpro_subscription"]; + if (cookies["you_subscription"]) youSubscription = cookies["you_subscription"]; + if (cookies["ai_model"]) aiModel = cookies["ai_model"]; + + return { jwtSession, jwtToken, ds, dsr, youproSubscription, youSubscription, aiModel }; } -function getSessionCookie(jwtSession, jwtToken) { - var sessionCookie = [ - { - name: "stytch_session", - value: jwtSession, - domain: "you.com", - path: "/", - expires: 1800000000, - httpOnly: false, - secure: true, - sameSite: "Lax", - }, - { - name: "ydc_stytch_session", - value: jwtSession, - domain: "you.com", - path: "/", - expires: 1800000000, - httpOnly: true, - secure: true, - sameSite: "Lax", - }, - { - name: "stytch_session_jwt", - value: jwtToken, - domain: "you.com", - path: "/", - expires: 1800000000, - httpOnly: false, - secure: true, - sameSite: "Lax", - }, - { - name: "ydc_stytch_session_jwt", - value: jwtToken, - domain: "you.com", - path: "/", - expires: 1800000000, - httpOnly: true, - secure: true, - sameSite: "Lax", - } - ]; - if(process.env.INCOGNITO_MODE === "true") { - sessionCookie.push({ - name: "incognito", - value: "true", - domain: "you.com", - path: "/", - expires: 1800000000, - secure: true, - }); - } - return sessionCookie; +function getSessionCookie(jwtSession, jwtToken, ds, dsr, youproSubscription, youSubscription, aiModel) { + var sessionCookie = []; + if (jwtSession && jwtToken) { + sessionCookie = [ + { + name: "stytch_session", + value: jwtSession, + domain: "you.com", + path: "/", + expires: 1800000000, + httpOnly: false, + secure: true, + sameSite: "Lax", + }, + { + name: "ydc_stytch_session", + value: jwtSession, + domain: "you.com", + path: "/", + expires: 1800000000, + httpOnly: true, + secure: true, + sameSite: "Lax", + }, + { + name: "stytch_session_jwt", + value: jwtToken, + domain: "you.com", + path: "/", + expires: 1800000000, + httpOnly: false, + secure: true, + sameSite: "Lax", + }, + { + name: "ydc_stytch_session_jwt", + value: jwtToken, + domain: "you.com", + path: "/", + expires: 1800000000, + httpOnly: true, + secure: true, + sameSite: "Lax", + } + ]; + } + if (ds) { + sessionCookie.push({ + name: "DS", + value: ds, + domain: "you.com", + path: "/", + expires: 1800000000, + httpOnly: false, + secure: true, + sameSite: "Lax", + }); + } + if (dsr) { + sessionCookie.push({ + name: "DSR", + value: dsr, + domain: "you.com", + path: "/", + expires: 1800000000, + httpOnly: false, + secure: true, + sameSite: "Lax", + }); + } + if (youproSubscription) { + sessionCookie.push({ + name: "youpro_subscription", + value: youproSubscription, + domain: "you.com", + path: "/", + expires: 1800000000, + secure: true, + }); + } + if (youSubscription) { + sessionCookie.push({ + name: "you_subscription", + value: youSubscription, + domain: "you.com", + path: "/", + expires: 1800000000, + secure: true, + }); + } + if (aiModel) { + sessionCookie.push({ + name: "ai_model", + value: aiModel, + domain: "you.com", + path: "/", + expires: 1800000000, + secure: true, + }); + } + if(process.env.INCOGNITO_MODE === "true") { + sessionCookie.push({ + name: "incognito", + value: "true", + domain: "you.com", + path: "/", + expires: 1800000000, + secure: true, + }); + } + return sessionCookie; } function sleep(ms) {