fix: add environment variable fallback for Supabase client configuration
Some checks failed
Staging Build / build (push) Has been cancelled

This commit is contained in:
DanielS
2026-06-23 02:36:31 +02:00
parent 2ec5993e63
commit e789a38d19
7 changed files with 27 additions and 14 deletions

View File

@@ -6,8 +6,9 @@ import { cookies } from 'next/headers';
export async function POST(request: Request) { export async function POST(request: Request) {
const cookieStore = await cookies(); const cookieStore = await cookies();
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL || process.env.SUPABASE_URL || '';
const supabase = createServerClient( const supabase = createServerClient(
process.env.NEXT_PUBLIC_SUPABASE_URL ?? '', supabaseUrl,
process.env.SUPABASE_SERVICE_ROLE_KEY ?? '', process.env.SUPABASE_SERVICE_ROLE_KEY ?? '',
{ {
cookies: { cookies: {

View File

@@ -5,8 +5,9 @@ import { cookies } from 'next/headers';
export async function GET() { export async function GET() {
const cookieStore = await cookies(); const cookieStore = await cookies();
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL || process.env.SUPABASE_URL || '';
const supabase = createServerClient( const supabase = createServerClient(
process.env.NEXT_PUBLIC_SUPABASE_URL ?? '', supabaseUrl,
process.env.SUPABASE_SERVICE_ROLE_KEY ?? '', process.env.SUPABASE_SERVICE_ROLE_KEY ?? '',
{ {
cookies: { cookies: {
@@ -45,8 +46,9 @@ export async function GET() {
export async function POST(request: Request) { export async function POST(request: Request) {
const cookieStore = await cookies(); const cookieStore = await cookies();
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL || process.env.SUPABASE_URL || '';
const supabase = createServerClient( const supabase = createServerClient(
process.env.NEXT_PUBLIC_SUPABASE_URL ?? '', supabaseUrl,
process.env.SUPABASE_SERVICE_ROLE_KEY ?? '', process.env.SUPABASE_SERVICE_ROLE_KEY ?? '',
{ {
cookies: { cookies: {

View File

@@ -2,9 +2,10 @@ import { createClient } from '@supabase/supabase-js'
export function createAdminClient() { export function createAdminClient() {
const serviceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY || 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImV4cCI6MTk4MzgxMjk5Nn0.EGIM96RAZx35lJzdJsyH-qQwv8Hdp7fsn3W0YpN81IU' const serviceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY || 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImV4cCI6MTk4MzgxMjk5Nn0.EGIM96RAZx35lJzdJsyH-qQwv8Hdp7fsn3W0YpN81IU'
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL || process.env.SUPABASE_URL;
return createClient( return createClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!, supabaseUrl!,
serviceRoleKey, serviceRoleKey,
{ {
auth: { auth: {

View File

@@ -1,8 +1,11 @@
import { createBrowserClient } from "@supabase/ssr"; import { createBrowserClient } from "@supabase/ssr";
export function createClient() { export function createClient() {
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL || process.env.SUPABASE_URL;
const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY || process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY || process.env.SUPABASE_ANON_KEY;
return createBrowserClient( return createBrowserClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!, supabaseUrl!,
process.env.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY!, supabaseAnonKey!,
); );
} }

View File

@@ -13,11 +13,12 @@ export async function updateSession(request: NextRequest) {
return supabaseResponse; return supabaseResponse;
} }
// With Fluid compute, don't put this client in a global environment const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL || process.env.SUPABASE_URL;
// variable. Always create a new one on each request. const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY || process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY || process.env.SUPABASE_ANON_KEY;
const supabase = createServerClient( const supabase = createServerClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!, supabaseUrl!,
process.env.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY!, supabaseAnonKey!,
{ {
cookies: { cookies: {
getAll() { getAll() {

View File

@@ -9,9 +9,12 @@ import { cookies } from "next/headers";
export async function createClient() { export async function createClient() {
const cookieStore = await cookies(); const cookieStore = await cookies();
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL || process.env.SUPABASE_URL;
const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY || process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY || process.env.SUPABASE_ANON_KEY;
return createServerClient( return createServerClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!, supabaseUrl!,
process.env.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY!, supabaseAnonKey!,
{ {
cookies: { cookies: {
getAll() { getAll() {

View File

@@ -7,5 +7,7 @@ export function cn(...inputs: ClassValue[]) {
// This check can be removed, it is just for tutorial purposes // This check can be removed, it is just for tutorial purposes
export const hasEnvVars = export const hasEnvVars =
process.env.NEXT_PUBLIC_SUPABASE_URL && (process.env.NEXT_PUBLIC_SUPABASE_URL || process.env.SUPABASE_URL) &&
process.env.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY; (process.env.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY ||
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY ||
process.env.SUPABASE_ANON_KEY);