Firebase Auth의 예외처리를 위해 일반적으로 자주 발생하는 에러를 모아보았다.
예외처리는 에러의 code
를 switch
문으로 분기처리하면 편하다.
// 에러 코드에 대한 안내 문구 반환하기
// 사전 유효성 검증 여부 등을 고려해 발생 빈도 순으로 분기처리하는게 좋다.
switch (error.code) {
case "auth/user-not-found" || "auth/wrong-password":
return "이메일 혹은 비밀번호가 일치하지 않습니다.";
case "auth/email-already-in-use":
return "이미 사용 중인 이메일입니다.";
case "auth/weak-password":
return "비밀번호는 6글자 이상이어야 합니다.";
case "auth/network-request-failed":
return "네트워크 연결에 실패 하였습니다.";
case "auth/invalid-email":
return "잘못된 이메일 형식입니다.";
case "auth/internal-error":
return "잘못된 요청입니다.";
default:
return "로그인에 실패 하였습니다.";
}
유효하지 않은 이메일.
이메일이 공란이거나 잘못된 형식의 이메일이 전달되면 발생한다.
서버에 요청을 보내기 전에 이메일의 유효성 검증을 거쳐서 해당 에러의 발생을 낮추는게 좋다.
code
auth/invalid-email
message
Firebase: Error (auth/invalid-email).
일치하는 사용자를 찾을 수 없음.
로그인 시 등록되지 않은 이메일을 전달하면 발생한다.
code
auth/user-not-found
message
Firebase: Error (auth/user-not-found).
일치하지 않는 비밀번호.
로그인 시 이메일에 대한 비밀번호가 틀렸을 때 발생한다.
code
auth/wrong-password
message
Firebase: Error (auth/wrong-password).
잘못된 요청. (400 Bad Request)
이메일, 비밀번호 등 필요한 정보를 공란으로 전송하지 않도록 사전 유효성 검증을 거쳐 에러 발생을 낮추는게 좋다.
code
auth/internal-error
message
Firebase: Error (auth/internal-error).
사용 중인 이메일.
계정 등록 시 이미 사용 중인 이메일을 전달했을 때 발생.
code
auth/email-already-in-use
message
Firebase: Error (auth/email-already-in-use).
취약한 비밀번호.
비밀번호가 6자리 미만일 때 발생.
서버에 요청하기 전에 비밀번호에 대한 사전 유효성 검증을 거쳐 에러 발생을 막는게 좋다.
code
auth/weak-password
message
Firebase: Password should be at least 6 characters (auth/weak-password).
네트워크 요청 실패.
인터넷 연결에 실패했을 때 발생한다.
code
auth/network-request-failed
message
Firebase: Error (auth/network-request-failed).