trying this...
c5ecc3f2
3 file(s) · +11 −7
| 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", |
| 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() { |
| 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> |