trying this... c5ecc3f2
Steve · 2024-09-19 22:41 3 file(s) · +11 −7
src/components/SignInButton.tsx +4 −2
1 -
import { supabase } from "src/lib/supabase";
1 +
import { createClient } from "@supabase/supabase-js";
2 2
3 -
export function SignInButton() {
3 +
export function SignInButton({ supabaseUrl, supabaseKey }) {
4 +
	const supabase = createClient(supabaseUrl, supabaseKey);
5 +
4 6
	async function signInWithGithub() {
5 7
		await supabase.auth.signInWithOAuth({
6 8
			provider: "github",
src/pages/auth/callback.ts +3 −4
1 1
import { createServerClient, parseCookieHeader } from "@supabase/ssr";
2 2
import type { APIRoute } from "astro";
3 -
const { env } = Astro.locals.runtime;
4 3
5 -
export const GET: APIRoute = async ({ request, cookies, redirect }) => {
4 +
export const GET: APIRoute = async ({ request, redirect, locals }) => {
6 5
	const requestUrl = new URL(request.url);
7 6
	const code = requestUrl.searchParams.get("code");
8 7
	const next = requestUrl.searchParams.get("next") || "/";
9 8
10 9
	if (code) {
11 10
		const supabase = createServerClient(
12 -
			env.PUBLIC_SUPABASE_URL,
13 -
			env.PUBLIC_SUPABASE_ANON_KEY,
11 +
			locals.runtime.env.PUBLIC_SUPABASE_URL,
12 +
			locals.runtime.env.PUBLIC_SUPABASE_ANON_KEY,
14 13
			{
15 14
				cookies: {
16 15
					getAll() {
src/pages/log.astro +4 −1
10 10
11 11
<PageLayout meta={meta}>
12 12
	<div class="space-y-6">
13 -
  	<SignInButton client:load />
13 +
  	<SignInButton
14 +
      supabaseUrl={Astro.locals.runtime.env.PUBLIC_SUPABASE_URL}
15 +
      supabaseKey={Astro.locals.runtime.env.PUBLIC_SUPABASE_ANON_KEY}
16 +
      client:load />
14 17
	</div>
15 18
</PageLayout>