WIP a83755ba
Steve · 2024-09-20 07:07 3 file(s) · +5 −36
src/components/SignInButton.tsx +5 −4
2 2
3 3
export function SignInButton() {
4 4
	async function signInWithGithub() {
5 -
		await supabase.auth.signInWithOAuth({
5 +
		const { data, error } = await supabase.auth.signInWithOAuth({
6 6
			provider: "github",
7 -
			options: {
8 -
				redirectTo: "https://stevedylan.dev/api/auth/callback",
9 -
			},
10 7
		});
8 +
		if (error) {
9 +
			alert(error);
10 +
		}
11 +
		console.log(data);
11 12
	}
12 13
13 14
	return (
src/lib/supabase.ts +0 −5
3 3
export const supabase = createClient(
4 4
	import.meta.env.PUBLIC_SUPABASE_URL,
5 5
	import.meta.env.PUBLIC_SUPABASE_ANON_KEY,
6 -
	{
7 -
		auth: {
8 -
			flowType: "pkce",
9 -
		},
10 -
	},
11 6
);
src/pages/api/auth/callback.ts (deleted) +0 −27
1 -
import type { APIRoute } from "astro";
2 -
import { supabase } from "../../../lib/supabase";
3 -
4 -
export const GET: APIRoute = async ({ url, cookies, redirect }) => {
5 -
	const authCode = url.searchParams.get("code");
6 -
7 -
	if (!authCode) {
8 -
		return new Response("No code provided", { status: 400 });
9 -
	}
10 -
11 -
	const { data, error } = await supabase.auth.exchangeCodeForSession(authCode);
12 -
13 -
	if (error) {
14 -
		return new Response(error.message, { status: 500 });
15 -
	}
16 -
17 -
	const { access_token, refresh_token } = data.session;
18 -
19 -
	cookies.set("sb-access-token", access_token, {
20 -
		path: "/",
21 -
	});
22 -
	cookies.set("sb-refresh-token", refresh_token, {
23 -
		path: "/",
24 -
	});
25 -
26 -
	return redirect("/dashboard");
27 -
};