From f8aeab1b180cc2f9b24f2faf0dfc2c9aa1aa97d9 Mon Sep 17 00:00:00 2001 From: Pablu23 Date: Tue, 2 Sep 2025 15:48:17 +0200 Subject: [PATCH] Change static env to dynamic env --- src/lib/server/auth/spotify.ts | 6 +++--- src/routes/callback/+page.server.ts | 8 +++----- src/routes/login/+page.server.ts | 6 +++--- svelte.config.js | 2 +- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/lib/server/auth/spotify.ts b/src/lib/server/auth/spotify.ts index 8bc4fad..07b81ce 100644 --- a/src/lib/server/auth/spotify.ts +++ b/src/lib/server/auth/spotify.ts @@ -1,4 +1,4 @@ -import { PUBLIC_CLIENT_ID, PUBLIC_REDIRECT_URI } from "$env/static/public"; +import { env } from "$env/dynamic/public"; export const generateRandomString = (length: number) => { const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; @@ -27,10 +27,10 @@ export const getToken = async (code: string, codeVerifier: string) => { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams({ - client_id: PUBLIC_CLIENT_ID, + client_id: env.PUBLIC_CLIENT_ID, grant_type: 'authorization_code', code, - redirect_uri: PUBLIC_REDIRECT_URI, + redirect_uri: env.PUBLIC_REDIRECT_URI, code_verifier: codeVerifier }) }; diff --git a/src/routes/callback/+page.server.ts b/src/routes/callback/+page.server.ts index 7f4d040..0ddf324 100644 --- a/src/routes/callback/+page.server.ts +++ b/src/routes/callback/+page.server.ts @@ -5,27 +5,25 @@ import { db } from "$lib/server/db"; import { sessionsTable, states, usersTable } from "$lib/server/db/schema"; import { generateRandomString, getToken } from "$lib/server/auth/spotify"; import { getCurrentUserProfile } from "$lib/server/spotify/users"; +import { env } from "$env/dynamic/public" export const load: PageServerLoad = async ({ url, cookies }) => { const code = url.searchParams.get('code'); const state = url.searchParams.get('state') if (!state || !code) { - redirect(307, "/") + redirect(307, "/error") } const s = await db.select().from(states).where(eq(states.id, state)).limit(1); const token = await getToken(code, s[0].codeVerifier) - // console.log(token); // TODO: Check if deletion was fulfilled await db.delete(states).where(eq(states.id, state)); const userResponse = await getCurrentUserProfile(token.access_token) - // console.log(userResponse) - const isUser: boolean = (await db.$count(usersTable, eq(usersTable.email, userResponse.email))) === 1 if (!isUser) { @@ -47,7 +45,7 @@ export const load: PageServerLoad = async ({ url, cookies }) => { const sessionResponse = await db.insert(sessionsTable).values(session); - cookies.set("session_id", session.id, { path: "/", secure: false}); + cookies.set("session_id", session.id, { path: "/", secure: /^true$/i.test(env.PUBLIC_SECURE ?? "true") }); redirect(307, "/") }; \ No newline at end of file diff --git a/src/routes/login/+page.server.ts b/src/routes/login/+page.server.ts index a2fdbe2..d7505e4 100644 --- a/src/routes/login/+page.server.ts +++ b/src/routes/login/+page.server.ts @@ -1,4 +1,4 @@ -import { PUBLIC_CLIENT_ID, PUBLIC_REDIRECT_URI } from "$env/static/public"; +import { env } from "$env/dynamic/public"; import { redirect } from "@sveltejs/kit"; import { generateRandomString, sha256, base64encode } from '$lib/server/auth/spotify'; import type { PageServerLoad } from "../$types"; @@ -24,11 +24,11 @@ export const load: PageServerLoad = async () => { const params = { response_type: 'code', - client_id: PUBLIC_CLIENT_ID, + client_id: env.PUBLIC_CLIENT_ID, scope, code_challenge_method: 'S256', code_challenge: codeChallenge, - redirect_uri: PUBLIC_REDIRECT_URI, + redirect_uri: env.PUBLIC_REDIRECT_URI, state } diff --git a/svelte.config.js b/svelte.config.js index 03c17f2..b4b2cda 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -6,7 +6,7 @@ const config = { // Consult https://svelte.dev/docs/kit/integrations // for more information about preprocessors preprocess: vitePreprocess(), - kit: { adapter: adapter() } + kit: { adapter: adapter({out: 'build'}) } }; export default config;