import { redirect } from "@sveltejs/kit"; import { generateCodeVerifier, generateState } from "arctic"; import { discord } from "$lib/auth/discord"; import type { RequestHandler } from "./$types"; import type { CookieData } from "$lib/auth"; export const GET: RequestHandler = async ({ cookies, url }) => { const cookie: CookieData = { state: generateState(), codeVerifier: generateCodeVerifier(), next: url.searchParams.get("next") ?? "/", }; const scopes = ["identify"]; const authUrl = discord.createAuthorizationURL(cookie.state, cookie.codeVerifier, scopes); cookies.set("discord_oauth_state", JSON.stringify(cookie), { path: "/", httpOnly: true, maxAge: 60 * 10, sameSite: "lax", }); redirect(302, authUrl); };