diff --git a/src/routes/auth/[provider]/+page.server.ts b/src/routes/auth/[provider]/+page.server.ts index 1564daa..9d23cb4 100644 --- a/src/routes/auth/[provider]/+page.server.ts +++ b/src/routes/auth/[provider]/+page.server.ts @@ -12,7 +12,7 @@ import { } from '$lib/server/auth'; import type {PageServerLoad} from './$types'; -export const load: PageServerLoad = async ({cookies, params}) => { +export const load: PageServerLoad = async ({cookies, params, url}) => { // figure out what auth provider the user wanted to try let provider: AuthProvider; if (params.provider === 'discord') { @@ -27,7 +27,11 @@ export const load: PageServerLoad = async ({cookies, params}) => { // store a state for this login attempt const authStatesRepo = await dataSource.getRepository(AuthState); - const state = authStatesRepo.create({provider}); + const state = authStatesRepo.create({ + provider, + prev: url.searchParams.get('prev') ?? '/', + next: url.searchParams.get('next') ?? '/', + }); await authStatesRepo.save(state); // set the state ID as a cookie so we can retrieve it later and compare