본문 바로가기
👊🏻에러 일지

[firebase 인증 오류] firebase: error (auth/invalid-credential).

by 짱돌보리 2024. 11. 30.
728x90

🔥Firebase 인증 오류: "auth/invalid-credential" 문제 해결 방법

로그인 오류에서 계속 default 로 설정한 오류 메세지만 나오는 이슈를 발견했다...
case에 따라 오류메세지가 다르게 나와야하는데... error를 찍으면 "auth/wrong-password" 또는 "auth/user-not-found" 오류 대신 "auth/invalid-credential"만 나온다..

  const onSubmit = async (data: FormData) => {
    try {
      await signInWithEmailAndPassword(auth, data.email, data.password)
      alert('로그인 성공!')
      router.push('/main')
    } catch (error) {
      console.error(error)
      if (error instanceof FirebaseError) {
        switch (error.code) {
          case 'auth/user-not-found':
            alert('사용자가 없습니다. 회원가입을 진행해 주세요.')
            router.push('/signup')
            break
          case 'auth/wrong-password':
            alert('비밀번호가 틀렸습니다.')
            break
          default:
            alert('알 수 없는 오류가 발생했습니다. 다시 시도해주세요.')
            console.error('Firebase Error:', error)
            console.error('Error Code:', (error as FirebaseError).code)
        }
      } else {
        alert('알 수 없는 오류가 발생했습니다. 다시 시도해주세요.')
      }
    }
  }

 

이메일 열거 보호(Email Enumeration Protection) 기능이 활성화된 경우에 발생한다...!

❓이메일 열거 보호

Firebase에서 이메일 열거 보호는 보안 강화 기능으로, 인증 시스템이 잘못된 이메일 또는 비밀번호를 입력했을 때 구체적인 오류 메시지 대신 일반적인 오류 메시지를 반환한다. 이로 인해 공격자가 이메일 존재 여부를 추측할 수 없게 된다.

 

하지만 개발 중에는 정확한 에러 코드를 확인해야 하기 때문에 보호를 비활성화 해줘야 한다!

 

https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection

 

이메일 열거 보호 사용 설정 또는 중지  |  Identity Platform Documentation  |  Google Cloud

의견 보내기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이메일 열거 보호 사용 설정 또는 중지 이 가이드에서는 이메일 열거 보호 기능을 설명하고 사

cloud.google.com

 

내 프로젝트 설정에 들어가 이메일 열거 보호 체크를 해제해주면 해결된다 🙂