diff --git a/src/contexts/auth/signInUtils.ts b/src/contexts/auth/signInUtils.ts index 9478d6e..130f4a3 100644 --- a/src/contexts/auth/signInUtils.ts +++ b/src/contexts/auth/signInUtils.ts @@ -9,31 +9,25 @@ export const signInWithDirectApi = async (email: string, password: string) => { console.log('직접 API 호출로 로그인 시도'); try { - // 로그인 API 엔드포인트 URL과 헤더 준비 - const supabaseUrl = supabase.auth.url; - // URL 경로 중복 방지를 위해 경로 확인 및 정규화 - const baseUrl = supabaseUrl?.endsWith('/auth/v1') - ? supabaseUrl - : `${supabaseUrl}/auth/v1`; + // 로그인 API 엔드포인트 URL 준비 + const supabaseUrl = localStorage.getItem('supabase_url') || 'http://a11.ism.kr'; + const supabaseKey = localStorage.getItem('supabase_key') || supabase.supabaseKey; - // URL에 중복 '/auth/v1' 경로가 있는지 확인하고 수정 - const normalizedUrl = baseUrl.includes('/auth/v1/auth/v1') - ? baseUrl.replace('/auth/v1/auth/v1', '/auth/v1') - : baseUrl; + // URL에 auth/v1이 이미 포함되어있는지 확인 + const baseUrl = supabaseUrl.includes('/auth/v1') ? supabaseUrl : `${supabaseUrl}/auth/v1`; - const tokenUrl = `${normalizedUrl}/token?grant_type=password`; - const headers = { - 'Content-Type': 'application/json', - 'Authorization': `Bearer ${supabase.supabaseKey}`, - 'X-Client-Info': 'supabase-js/2.x' - }; + // 토큰 엔드포인트 경로 + const tokenUrl = `${baseUrl}/token?grant_type=password`; console.log('로그인 API 요청 URL:', tokenUrl); // 로그인 요청 보내기 const response = await fetch(tokenUrl, { method: 'POST', - headers, + headers: { + 'Content-Type': 'application/json', + 'apikey': supabaseKey + }, body: JSON.stringify({ email, password }) }); @@ -53,12 +47,15 @@ export const signInWithDirectApi = async (email: string, password: string) => { console.warn('API 경로를 찾을 수 없음 (404). 새 엔드포인트 시도 중...'); // 대체 엔드포인트 시도 (/token 대신 /signin) - const signinUrl = `${normalizedUrl}/signin`; + const signinUrl = `${baseUrl}/signin`; try { const signinResponse = await fetch(signinUrl, { method: 'POST', - headers, + headers: { + 'Content-Type': 'application/json', + 'apikey': supabaseKey + }, body: JSON.stringify({ email, password }) }); diff --git a/src/contexts/auth/signUpUtils.ts b/src/contexts/auth/signUpUtils.ts index e375079..485bda6 100644 --- a/src/contexts/auth/signUpUtils.ts +++ b/src/contexts/auth/signUpUtils.ts @@ -9,25 +9,17 @@ export const signUpWithDirectApi = async (email: string, password: string, usern try { console.log('직접 API 호출로 회원가입 시도 중'); - const supabaseUrl = supabase.auth.url; + const supabaseUrl = localStorage.getItem('supabase_url') || 'http://a11.ism.kr'; const supabaseKey = localStorage.getItem('supabase_key') || supabase.supabaseKey; - // URL 경로 중복 방지를 위해 경로 확인 및 정규화 - const baseUrl = supabaseUrl?.endsWith('/auth/v1') - ? supabaseUrl - : `${supabaseUrl}/auth/v1`; - - // URL에 중복 '/auth/v1' 경로가 있는지 확인하고 수정 - const normalizedUrl = baseUrl.includes('/auth/v1/auth/v1') - ? baseUrl.replace('/auth/v1/auth/v1', '/auth/v1') - : baseUrl; + // URL에 auth/v1이 이미 포함되어있는지 확인 + const baseUrl = supabaseUrl.includes('/auth/v1') ? supabaseUrl : `${supabaseUrl}/auth/v1`; // 회원가입 API 엔드포인트 및 헤더 설정 - const signUpUrl = `${normalizedUrl}/signup`; + const signUpUrl = `${baseUrl}/signup`; const headers = { 'Content-Type': 'application/json', - 'apikey': supabaseKey, - 'X-Client-Info': 'supabase-js/2.x' + 'apikey': supabaseKey }; console.log('회원가입 API 요청 URL:', signUpUrl); diff --git a/src/lib/supabase/config.ts b/src/lib/supabase/config.ts index 9cd16d6..ad5a870 100644 --- a/src/lib/supabase/config.ts +++ b/src/lib/supabase/config.ts @@ -50,7 +50,7 @@ export const getSupabaseUrl = () => { } // 기본값 사용 (환경 변수 대신) - return 'http://a11.ism.kr:8000'; + return 'http://a11.ism.kr'; }; export const getSupabaseKey = () => {