Skip to content

Commit 6c2707d

Browse files
committed
feat: exposing new api keys to functions
1 parent 964f3bc commit 6c2707d

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

internal/functions/serve/serve.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,8 @@ func ServeFunctions(ctx context.Context, envFilePath string, noVerifyJWT *bool,
132132
"SUPABASE_ANON_KEY="+utils.Config.Auth.AnonKey.Value,
133133
"SUPABASE_SERVICE_ROLE_KEY="+utils.Config.Auth.ServiceRoleKey.Value,
134134
"SUPABASE_DB_URL="+dbUrl,
135+
"SUPABASE_INTERNAL_PUBLISHABLE_KEY="+utils.Config.Auth.PublishableKey.Value,
136+
"SUPABASE_INTERNAL_SECRET_KEY="+utils.Config.Auth.SecretKey.Value,
135137
"SUPABASE_INTERNAL_JWT_SECRET="+utils.Config.Auth.JwtSecret.Value,
136138
"SUPABASE_INTERNAL_JWKS="+jwks,
137139
fmt.Sprintf("SUPABASE_INTERNAL_HOST_PORT=%d", utils.Config.Api.Port),

internal/functions/serve/templates/main.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ const SB_SPECIFIC_ERROR_REASON = {
2828

2929
// OS stuff - we don't want to expose these to the functions.
3030
const EXCLUDED_ENVS = ["HOME", "HOSTNAME", "PATH", "PWD"];
31-
3231
const HOST_PORT = Deno.env.get("SUPABASE_INTERNAL_HOST_PORT")!;
3332
const JWT_SECRET = Deno.env.get("SUPABASE_INTERNAL_JWT_SECRET")!;
3433
const JWKS_ENDPOINT = new URL('/auth/v1/.well-known/jwks.json', Deno.env.get("SUPABASE_URL")!)
@@ -37,6 +36,9 @@ const FUNCTIONS_CONFIG_STRING = Deno.env.get(
3736
"SUPABASE_INTERNAL_FUNCTIONS_CONFIG",
3837
)!;
3938

39+
const SUPABASE_PUBLISHABLE_KEY = Deno.env.get('SUPABASE_INTERNAL_PUBLISHABLE_KEY')
40+
const SUPABASE_SECRET_KEY = Deno.env.get('SUPABASE_INTERNAL_SECRET_KEY')
41+
4042
const WALLCLOCK_LIMIT_SEC = parseInt(
4143
Deno.env.get("SUPABASE_INTERNAL_WALLCLOCK_LIMIT_SEC"),
4244
);
@@ -223,6 +225,17 @@ Deno.serve({
223225
const workerTimeoutMs = isFinite(WALLCLOCK_LIMIT_SEC) ? WALLCLOCK_LIMIT_SEC * 1000 : 400 * 1000;
224226
const noModuleCache = false;
225227
const envVarsObj = Deno.env.toObject();
228+
if (SUPABASE_PUBLISHABLE_KEY) {
229+
envVarsObj['SUPABASE_PUBLISHABLE_KEYS'] = JSON.stringify({
230+
default: SUPABASE_PUBLISHABLE_KEY
231+
})
232+
}
233+
if (SUPABASE_SECRET_KEY) {
234+
envVarsObj['SUPABASE_SECRET_KEYS'] = JSON.stringify({
235+
default: SUPABASE_SECRET_KEY
236+
})
237+
}
238+
226239
const envVars = Object.entries(envVarsObj)
227240
.filter(([name, _]) =>
228241
!EXCLUDED_ENVS.includes(name) && !name.startsWith("SUPABASE_INTERNAL_")

0 commit comments

Comments
 (0)