Gemini 2.5로 변경
역시 Gemini가 낫다!! 여전히 안 되지만.;;
읽어보면 역시나 Wix.......
로그인 코드 작성하는 게 코드들 중에서는 어려운 게 아닐텐데..
수많은 삽질을 해야한다.
제시하신 오류 메시지 wixWindow.alert is not a function는 프런트엔드 코드가 백엔드(Web Module)로부터 오류 응답을 받았을 때 경고창을 띄우려다가 발생한 문제입니다.
이 오류는 주로 다음 두 가지 원인 중 하나이거나 복합적인 이유로 발생합니다.
1. 🛑 wixWindow.alert 사용 환경 오류 (가장 직접적인 원인)
wixWindow.alert 함수는 Wix 코드에서 프런트엔드 페이지에서만 사용할 수 있는 브라우저 전용 API입니다.
문제:
코드를 디버깅할 때 백엔드(Web Module) 환경에서 이 함수를 호출하려고 시도했거나, Wix 환경이 wixWindow 모듈을 프런트엔드에 제대로 로드하지 못했을 때 발생합니다.
이전에 프런트엔드 코드를 수정할 때 showAlert 함수를 통해 일반 alert 사용 가능성도 열어두었지만, Wix 디버거가 wixWindow의 실패를 포착하고 있습니다.
해결 방법:
코드 위치 재확인: handleLogin 함수 전체와 showAlert 함수가 Wix 에디터의 페이지 코드 섹션에 있는지 다시 한번 확인하십시오. 백엔드 폴더(backend 또는 jsw 파일)에 있는 경우 즉시 프런트엔드 코드로 옮겨야 합니다.
wixWindow Import 확인: 코드 상단에 import wixWindow from 'wix-window'; 가 정확히 있는지 확인합니다.
Wix 재시작: Wix 에디터를 저장하고, 브라우저 캐시를 비운 후 에디터를 다시 시작하여 모듈 로드 문제를 해결합니다.
2. 🚨 백엔드(Web Module) 로그인 실패 오류 (오류 메시지의 내용)
오류 메시지의 내용인 ❌ 로그인 실패\n\n로그인 요청이 거부되었습니다. (Web Module 오류)는 백엔드 코드가 프런트엔드로 HTTP 500 (serverError) 응답을 보냈음을 의미합니다.
이는 Wix 세션을 생성하고 로그인하는 과정에서 실제 서버 문제가 발생했다는 뜻입니다.
문제:
이 오류 메시지가 발생한 시점의 백엔드 코드(get_kakao)를 보면, 서버 오류 응답(serverError)을 보낸 부분은 다음과 같습니다.
code 또는 state 누락
카카오 액세스 토큰 획득 실패
카카오에서 이메일(필수)을 제공하지 않음
이미 존재하는 이메일이지만 Wix 회원 정보를 찾을 수 없음
Wix 회원 등록 중 오류 발생
catch 블록의 최종 서버 오류
제공된 오류 메시지만으로는 어떤 단계에서 거부되었는지 정확히 알 수 없습니다.
해결 방법:
Wix Site Monitoring 확인: Wix 대시보드로 이동하여 "Site Monitoring" 또는 "Velo/Corvid Logs"를 확인하십시오. 백엔드 코드가 실행될 때 console.error로 기록된 정확한 오류 메시지가 무엇인지 파악해야 합니다.
예: "Wix 회원 등록 중 오류 발생, details: User does not have permission..."
getSecret 값 검증: KAKAO_REST_API_KEY, KAKAO_CLIENT_SECRET, KAKAO_REDIRECT_URI 값이 Wix Secrets Manager에 올바르게 저장되어 있고, 카카오 개발자 센터의 값과 정확히 일치하는지 확인하십시오. 특히 REDIRECT_URI는 완벽히 일치해야 합니다.
카카오 앱 설정 확인: 카카오 개발자 센터에서 '카카오 로그인' -> '보안' 탭으로 이동하여 'Client Secret' 사용 설정이 올바른지 확인하십시오. 만약 사용하도록 설정되어 있다면, 백엔드 코드의 CLIENT_SECRET 변수 사용이 필수적입니다.
세션 생성 후 토큰 반환 확인: (이 부분은 이미 이전 답변에서 수정되었습니다) 백엔드가 authentication.generateSessionToken()을 통해 sessionToken을 정상적으로 생성하고 반환하고 있는지 다시 한번 확인하십시오. 오류 메시지는 서버에서 serverError를 보냈을 때 프런트엔드가 처리하는 과정에서 나타났으므로, 로그인 실패의 원인을 서버 로그에서 찾아야 합니다.
결론: wixWindow.alert 오류는 프런트엔드 환경 문제일 가능성이 높고, "로그인 거부" 메시지는 백엔드 로그에서 실제 실패 원인(code, secret, redirectUri 불일치 등)을 찾아야 해결할 수 있습니다. 먼저 Wix Logs를 확인하십시오.
