From c70bb61347b02a9af66f0671223c9c1c16a11bb4 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 12 Jan 2026 22:07:17 -0500 Subject: [PATCH 1/2] wip: zen session --- infra/console.ts | 2 ++ packages/console/app/src/context/auth.session.ts | 3 ++- packages/console/core/sst-env.d.ts | 4 ++++ packages/console/function/sst-env.d.ts | 4 ++++ packages/console/resource/sst-env.d.ts | 4 ++++ packages/enterprise/sst-env.d.ts | 4 ++++ packages/function/sst-env.d.ts | 4 ++++ sst-env.d.ts | 4 ++++ 8 files changed, 28 insertions(+), 1 deletion(-) diff --git a/infra/console.ts b/infra/console.ts index 1e584ca576c..5eaf03d0b79 100644 --- a/infra/console.ts +++ b/infra/console.ts @@ -149,6 +149,7 @@ if ($app.stage === "production" || $app.stage === "frank") { }) } +const ZEN_SESSION_SECRET = new sst.Secret("ZEN_SESSION_SECRET") new sst.cloudflare.x.SolidStart("Console", { domain, path: "packages/console/app", @@ -163,6 +164,7 @@ new sst.cloudflare.x.SolidStart("Console", { AWS_SES_ACCESS_KEY_ID, AWS_SES_SECRET_ACCESS_KEY, ZEN_BLACK, + ZEN_SESSION_SECRET, ...ZEN_MODELS, ...($dev ? [ diff --git a/packages/console/app/src/context/auth.session.ts b/packages/console/app/src/context/auth.session.ts index 726b6c8346c..ee748d31687 100644 --- a/packages/console/app/src/context/auth.session.ts +++ b/packages/console/app/src/context/auth.session.ts @@ -1,4 +1,5 @@ import { useSession } from "@solidjs/start/http" +import { Resource } from "sst" export interface AuthSession { account?: Record< @@ -13,7 +14,7 @@ export interface AuthSession { export function useAuthSession() { return useSession({ - password: "0".repeat(32), + password: Resource.ZEN_SESSION_SECRET.value, name: "auth", maxAge: 60 * 60 * 24 * 365, cookie: { diff --git a/packages/console/core/sst-env.d.ts b/packages/console/core/sst-env.d.ts index 4450c6cb691..96fada3e3c0 100644 --- a/packages/console/core/sst-env.d.ts +++ b/packages/console/core/sst-env.d.ts @@ -130,6 +130,10 @@ declare module "sst" { "type": "sst.sst.Secret" "value": string } + "ZEN_SESSION_SECRET": { + "type": "sst.sst.Secret" + "value": string + } } } // cloudflare diff --git a/packages/console/function/sst-env.d.ts b/packages/console/function/sst-env.d.ts index 4450c6cb691..96fada3e3c0 100644 --- a/packages/console/function/sst-env.d.ts +++ b/packages/console/function/sst-env.d.ts @@ -130,6 +130,10 @@ declare module "sst" { "type": "sst.sst.Secret" "value": string } + "ZEN_SESSION_SECRET": { + "type": "sst.sst.Secret" + "value": string + } } } // cloudflare diff --git a/packages/console/resource/sst-env.d.ts b/packages/console/resource/sst-env.d.ts index 4450c6cb691..96fada3e3c0 100644 --- a/packages/console/resource/sst-env.d.ts +++ b/packages/console/resource/sst-env.d.ts @@ -130,6 +130,10 @@ declare module "sst" { "type": "sst.sst.Secret" "value": string } + "ZEN_SESSION_SECRET": { + "type": "sst.sst.Secret" + "value": string + } } } // cloudflare diff --git a/packages/enterprise/sst-env.d.ts b/packages/enterprise/sst-env.d.ts index 4450c6cb691..96fada3e3c0 100644 --- a/packages/enterprise/sst-env.d.ts +++ b/packages/enterprise/sst-env.d.ts @@ -130,6 +130,10 @@ declare module "sst" { "type": "sst.sst.Secret" "value": string } + "ZEN_SESSION_SECRET": { + "type": "sst.sst.Secret" + "value": string + } } } // cloudflare diff --git a/packages/function/sst-env.d.ts b/packages/function/sst-env.d.ts index 4450c6cb691..96fada3e3c0 100644 --- a/packages/function/sst-env.d.ts +++ b/packages/function/sst-env.d.ts @@ -130,6 +130,10 @@ declare module "sst" { "type": "sst.sst.Secret" "value": string } + "ZEN_SESSION_SECRET": { + "type": "sst.sst.Secret" + "value": string + } } } // cloudflare diff --git a/sst-env.d.ts b/sst-env.d.ts index 6e8b8e67e6a..035a5fc21dd 100644 --- a/sst-env.d.ts +++ b/sst-env.d.ts @@ -156,6 +156,10 @@ declare module "sst" { "type": "sst.sst.Secret" "value": string } + "ZEN_SESSION_SECRET": { + "type": "sst.sst.Secret" + "value": string + } "ZenData": { "name": string "type": "sst.cloudflare.Bucket" From 8daeec2ed30eb5388675af60271f16417da42821 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 12 Jan 2026 22:12:38 -0500 Subject: [PATCH 2/2] wip: zen session --- infra/console.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/infra/console.ts b/infra/console.ts index 5eaf03d0b79..30cf0c4254f 100644 --- a/infra/console.ts +++ b/infra/console.ts @@ -53,6 +53,7 @@ new sst.x.DevCommand("Studio", { // AUTH //////////////// +const ZEN_SESSION_SECRET = new sst.Secret("ZEN_SESSION_SECRET") const GITHUB_CLIENT_ID_CONSOLE = new sst.Secret("GITHUB_CLIENT_ID_CONSOLE") const GITHUB_CLIENT_SECRET_CONSOLE = new sst.Secret("GITHUB_CLIENT_SECRET_CONSOLE") const GOOGLE_CLIENT_ID = new sst.Secret("GOOGLE_CLIENT_ID") @@ -61,7 +62,14 @@ export const auth = new sst.cloudflare.Worker("AuthApi", { domain: `auth.${domain}`, handler: "packages/console/function/src/auth.ts", url: true, - link: [database, authStorage, GITHUB_CLIENT_ID_CONSOLE, GITHUB_CLIENT_SECRET_CONSOLE, GOOGLE_CLIENT_ID], + link: [ + database, + authStorage, + GITHUB_CLIENT_ID_CONSOLE, + GITHUB_CLIENT_SECRET_CONSOLE, + GOOGLE_CLIENT_ID, + ZEN_SESSION_SECRET, + ], }) //////////////// @@ -149,7 +157,6 @@ if ($app.stage === "production" || $app.stage === "frank") { }) } -const ZEN_SESSION_SECRET = new sst.Secret("ZEN_SESSION_SECRET") new sst.cloudflare.x.SolidStart("Console", { domain, path: "packages/console/app",