Update CORS proxy configuration

This commit is contained in:
gpt-engineer-app[bot]
2025-03-15 15:41:32 +00:00
parent 0f4f426dd4
commit 1c3c4f37e0
5 changed files with 76 additions and 13 deletions

View File

@@ -1,4 +1,3 @@
import { supabase } from '@/lib/supabase';
import {
handleNetworkError,
@@ -7,6 +6,7 @@ import {
verifyServerConnection
} from '@/utils/auth';
import { signInWithDirectApi } from './signInUtils';
import { getProxyType, isCorsProxyEnabled } from '@/lib/supabase/config';
export const signIn = async (email: string, password: string) => {
try {
@@ -14,9 +14,21 @@ export const signIn = async (email: string, password: string) => {
const connectionStatus = await verifyServerConnection();
if (!connectionStatus.connected) {
console.log('서버 연결 실패:', connectionStatus.message);
showAuthToast('서버 연결 실패', connectionStatus.message, 'destructive');
// 프록시 설정 확인 및 추천
const usingProxy = isCorsProxyEnabled();
const proxyType = getProxyType();
let errorMessage = connectionStatus.message;
if (!usingProxy) {
errorMessage = `${errorMessage} (설정에서 Cloudflare CORS 프록시 활성화를 권장합니다)`;
} else if (proxyType !== 'cloudflare') {
errorMessage = `${errorMessage} (설정에서 Cloudflare CORS 프록시로 변경을 권장합니다)`;
}
showAuthToast('서버 연결 실패', errorMessage, 'destructive');
return {
error: { message: `서버 연결에 실패했습니다: ${connectionStatus.message}` },
error: { message: `서버 연결에 실패했습니다: ${errorMessage}` },
user: null
};
}
@@ -66,8 +78,22 @@ export const signIn = async (email: string, password: string) => {
} catch (error: any) {
console.error('로그인 중 예외 발생:', error);
// 프록시 설정 확인 및 추천
const usingProxy = isCorsProxyEnabled();
const proxyType = getProxyType();
// 네트워크 오류 확인
const errorMessage = handleNetworkError(error);
let errorMessage = handleNetworkError(error);
// CORS 또는 네트워크 오류인 경우 Cloudflare 프록시 추천
if (errorMessage.includes('CORS') || errorMessage.includes('네트워크') || errorMessage.includes('연결')) {
if (!usingProxy) {
errorMessage = `${errorMessage} (설정에서 Cloudflare CORS 프록시 활성화를 권장합니다)`;
} else if (proxyType !== 'cloudflare') {
errorMessage = `${errorMessage} (설정에서 Cloudflare CORS 프록시로 변경을 권장합니다)`;
}
}
showAuthToast('로그인 오류', errorMessage, 'destructive');
return { error: { message: errorMessage }, user: null };