tcl-guessr/src/routes/login/+server.ts
uku df35978722
All checks were successful
deploy to cloudflare pages / deploy (push) Successful in 34s
feat(deps): update to arctic 3
2025-02-04 14:41:54 +01:00

25 lines
742 B
TypeScript

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);
};