import { google } from "@/lib/oauth"; import { generateState, generateCodeVerifier } from "arctic"; import type { APIRoute } from "astro"; export const GET: APIRoute = async ({ cookies, redirect }) => { const state = generateState(); const codeVerifier = generateCodeVerifier(); const url = await google.createAuthorizationURL(state, codeVerifier, ["profile", "email"]); cookies.set("google_oauth_state", state, { path: "/", secure: import.meta.env.PROD, httpOnly: true, maxAge: 60 * 10, sameSite: "lax", }); cookies.set("google_oauth_verifier", codeVerifier, { path: "/", secure: import.meta.env.PROD, httpOnly: true, maxAge: 60 * 10, sameSite: "lax", }); return redirect(url.toString()); };