inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

React-firebase authentication 관련 질문

76

jourxy05

작성한 질문수 1

1

firebase authentication 을 사용해서 회원가입을 구현 했습니다. 회원가입 페이지에서 정보를 입력하고 휴대전화에 sms를 보낸 후 인증번호를 입력하면 회원가입이 되는 것 까지 모두 정상적으로 작동합니다. 하지만 회원가입 페이지에서 sms 인증을 보낸 후 대략 1~2분 후

*Timeout at handleError (http://localhost:3000/static/js/bundle.js:115024:58) at http://localhost:3000/static/js/bundle.js:115047:7

이런 오류가 발생합니다. 도통 왜 발생하는지 못찾겠습니다.. 한번만 도와주세요ㅜㅜㅜㅜ

회원가입 페이지 코드 부분 / sms 인증코드 확인 부분

const sendVerificationCode = async () => {
    if (!validateForm()) return;

    try {
        if (!window.recaptchaVerifier || window.recaptchaVerifier.expired) {
            resetRecaptcha();
        }

        const phoneNumber = `+82${formData.phoneNumber.slice(1)}`;
        const appVerifier = window.recaptchaVerifier;

        const confirmationResult = await Promise.race([
            signInWithPhoneNumber(auth, phoneNumber, appVerifier),
            new Promise((_, reject) =>
                setTimeout(() => reject(new Error("Request timeout")), 120000) // 2 minutes
            ),
        ]);

        window.confirmationResult = confirmationResult;
        alert("Verification code sent!");
    } catch (error) {
        console.error("Error sending verification code:", error);
        resetRecaptcha();
    }
};
const verifyCode = async () => {
    if (!inputValue.trim()) {
        alert("Please enter the verification code.");
        return;
    }

    try {
        const result = await Promise.race([
            window.confirmationResult.confirm(inputValue),
            new Promise((_, reject) =>
                setTimeout(() => reject(new Error("Verification timeout")), 180000) // 3 minutes
            ),
        ]);

        alert("Verification successful!");
        // Handle user information here...
    } catch (error) {
        console.error("Verification error:", error);
        alert("Verification failed. Please try again.");
    }
};


 

react firebase authentication

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

jourxy05님께서 작성하신 코드를 검토해보니, SMS 인증 과정에서 발생하는 타임아웃 문제는 비동기 작업을 위한 Promise.race() 메소드를 사용하여 발생하고 있는 것으로 보입니다. 코드에서 Promise.race()는 두 개의 비동기 작업을 경쟁시키고, 먼저 완료된 프로미스가 반환됩니다.

특히, signInWithPhoneNumber 함수는 Firebase의 비동기 함수이며, 이 함수 실행 시간이 2분 넘을 경우 자동적으로 타임아웃 에러를 발생시키는 구조로 작성되어 있습니다.

이 문제를 해결하기 위해, 타임아웃 시간이 적절하게 설정되어 있는지 확인해 주시고, 네트워크 상태나 Firebase 설정을 점검해 보세요. 만약 지속적으로 문제가 발생한다면, Firebase 인증 설정에서 API 키나 다른 설정이 올바른지 확인해 보는 것도 좋습니다.

추가적인 사항으로는, 리캡차 검증이 만료된 경우, resetRecaptcha() 함수를 호출하여 재설정하는 부분이 있으니 그 부분을 통해 문제를 감지할 수 있는지 확인해보세요.

보다 구체적인 해결책이 필요하시면 Firebase의 문서를 참조하거나, Firebase 지원에 직접 문의하셔도 좋습니다.

문제가 잘 해결되기를 바랍니다! 😊

Firebase Phone Authentication 문서도 참고해 보세요.

/memory를 쓸 필요가 있나요? 그냥 md 들어가서 편집하면 안되나용?

0

23

2

로그인 확인

0

45

2

서브에이전트 생성시 레퍼런스 및 스킬 생성

0

35

2

Git, Github 기초부터 실전까지 중 질문드립니다.

0

55

3

재생이 안됩니다.

0

42

1

클로드 설치 및 강의 미션 관련

0

51

1

/config Thinking mode 설정

0

47

2

안녕하세요, 강의 수강 중인 학생입니다.

0

43

2

rules 폴더나 CLAUDE.md 파일 관리 관련 질문

0

43

2

cursor 안에서 다운로드 안되는 게 많은데 대체가 필요할까요

0

59

2

업데이트로 인한 에이전트 생성 변경

0

63

2

starter kit 프로젝트에 prd 문서 만들기

0

68

2

명령어 여러줄 입력방법?

0

71

2

ctrl + 't' 단축어가 안먹어요

0

50

1

클로드코드 계획 보고 방법 알고싶어요.

0

67

2

실무 버전 출시는 언제?

0

62

1

예시 1, 2, 3에서 질문있습니다.

0

55

2

Cursor 프로젝트 목록 및 작업 환경 동기화 문의

0

40

1

파워쉘, 터미널

0

63

2

스킬과 서브에이전트 병행 사용 질문

0

67

2

강의 잘 들었습니다.

0

43

1

터미널에서 커서 AI 직접 실행

0

48

2

해결했습니다

0

41

1

이런 경우는 어떤 조치를 취해야할까요?

0

53

2