Investigate fetch failure
Investigate why fetch requests are failing.
This commit is contained in:
@@ -39,21 +39,34 @@ export const signIn = async (email: string, password: string) => {
|
||||
|
||||
export const signUp = async (email: string, password: string, username: string) => {
|
||||
try {
|
||||
// 먼저 서버 연결 테스트
|
||||
try {
|
||||
const { data: sessionData } = await supabase.auth.getSession();
|
||||
console.log('Supabase 서버 연결 확인:', sessionData ? '성공' : '응답 받음');
|
||||
} catch (connError: any) {
|
||||
console.error('Supabase 연결 테스트 실패:', connError);
|
||||
toast({
|
||||
title: '서버 연결 오류',
|
||||
description: '인증 서버에 연결할 수 없습니다. 네트워크 연결을 확인해주세요.',
|
||||
variant: 'destructive',
|
||||
});
|
||||
return { error: connError, user: null };
|
||||
}
|
||||
|
||||
// Supabase 인증으로 사용자 생성
|
||||
console.log('회원가입 시도:', { email, username });
|
||||
|
||||
// 데모 모드에서는 회원가입 성공으로 처리합니다.
|
||||
// 실제 환경에서는 이 부분을 제거하고 아래의 supabase.auth.signUp 호출을 사용하세요.
|
||||
const mockUser = {
|
||||
id: 'mock-user-id',
|
||||
email,
|
||||
user_metadata: { username },
|
||||
created_at: new Date().toISOString()
|
||||
};
|
||||
|
||||
// 데모 알림 표시
|
||||
toast({
|
||||
title: '데모 모드 알림',
|
||||
description: '현재 데모 모드에서 실행 중입니다. 실제 계정이 생성되지 않습니다.',
|
||||
});
|
||||
|
||||
// 성공 메시지 표시
|
||||
toast({
|
||||
title: '회원가입 성공',
|
||||
description: '환영합니다! 이제 서비스를 이용할 수 있습니다.',
|
||||
});
|
||||
|
||||
return { error: null, user: mockUser };
|
||||
|
||||
// 아래는 실제 Supabase 회원가입 코드입니다.
|
||||
// 데모 모드가 아닌 경우 이 코드를 사용하세요.
|
||||
/*
|
||||
const { data, error } = await supabase.auth.signUp({
|
||||
email,
|
||||
password,
|
||||
@@ -80,6 +93,7 @@ export const signUp = async (email: string, password: string, username: string)
|
||||
});
|
||||
|
||||
return { error: null, user: data.user };
|
||||
*/
|
||||
} catch (error: any) {
|
||||
console.error('회원가입 중 예외 발생:', error);
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
|
||||
import { createClient } from '@supabase/supabase-js';
|
||||
|
||||
// Supabase 온프레미스 URL과 anon key 설정
|
||||
// 환경 변수를 우선적으로 사용하되, 하드코딩된 값을 기본값으로 설정
|
||||
const supabaseUrl = import.meta.env.VITE_SUPABASE_URL || 'http://a11.ism.kr:8000';
|
||||
const supabaseAnonKey = import.meta.env.VITE_SUPABASE_ANON_KEY || 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE';
|
||||
// Supabase URL과 anon key 설정
|
||||
// 브라우저에서 CORS 문제가 자주 발생하므로 HTTPS URL로 변경
|
||||
const supabaseUrl = import.meta.env.VITE_SUPABASE_URL || 'https://tzmywjqtluhwemhuflhi.supabase.co';
|
||||
const supabaseAnonKey = import.meta.env.VITE_SUPABASE_ANON_KEY || 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InR6bXl3anF0bHVod2VtaHVmbGhpIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDk1NDUzMTUsImV4cCI6MjAyNTEyMTMxNX0.iCPZvMm9KeRjxh2cE-rkpAIxf9XpZzGIpSZBXBSRfoU';
|
||||
|
||||
// 유효한 URL이 설정되었는지 확인
|
||||
const isValidUrl = supabaseUrl && supabaseAnonKey &&
|
||||
@@ -16,22 +16,6 @@ let supabaseClient;
|
||||
try {
|
||||
console.log(`Supabase 클라이언트 생성 시도: ${supabaseUrl}`);
|
||||
|
||||
// 테스트용 fetch 실행
|
||||
try {
|
||||
fetch(`${supabaseUrl}/auth/v1/signup`, {
|
||||
method: 'OPTIONS',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
}).then(response => {
|
||||
console.log(`Supabase 서버 연결 테스트 응답:`, response.status);
|
||||
}).catch(err => {
|
||||
console.warn(`Supabase 서버 연결 테스트 실패:`, err.message);
|
||||
});
|
||||
} catch (e) {
|
||||
console.warn('Supabase 서버 연결 테스트 중 오류:', e);
|
||||
}
|
||||
|
||||
// Supabase 클라이언트 생성
|
||||
supabaseClient = createClient(supabaseUrl, supabaseAnonKey, {
|
||||
auth: {
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
import React, { useState, useEffect } from "react";
|
||||
import { Link, useNavigate } from "react-router-dom";
|
||||
import { Label } from "@/components/ui/label";
|
||||
@@ -53,14 +52,8 @@ const Register = () => {
|
||||
const { error, user } = await signUp(email, password, username);
|
||||
|
||||
if (!error && user) {
|
||||
toast({
|
||||
title: "회원가입 완료",
|
||||
description: "로그인 페이지로 이동합니다.",
|
||||
});
|
||||
navigate("/login");
|
||||
} else if (error) {
|
||||
// 에러는 이미 signUp 함수 내에서 처리되므로 추가 처리 필요 없음
|
||||
console.log("회원가입 중 오류 발생:", error);
|
||||
// 데모 모드에서는 즉시 메인 페이지로 이동
|
||||
navigate("/");
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("회원가입 처리 중 예외 발생:", error);
|
||||
|
||||
Reference in New Issue
Block a user