오랜만에 인사드립니다. 주코입니다!
요즘은 Naver에서 개최한 Dan24 행사를 참여한 후 여러 가지 인사이트를 얻고 계속해서 MultiModule과 Compose를 중심으로 학습하고 있었습니다!
최근 Firebase로 이메일과 비밀번호로 로그인을 구현하고 있었습니다.
저는 FirebaseAuth에 대한 모든 에러핸들링에 대해 사용자에게 SnackBar로 로그인 실패에 대한 이유를 보여주고 싶었습니다.
일부로 Firebase Authentication에 없는 계정으로 로그인을 시도해도, 비밀번호를 틀려도 계속 ERROR_INVALID_CREDENTIAL라고 에러가 뜨는 것이었습니다.
에러 발생 화면
테스트용 이메일과 비밀번호는 test@naver.com / 12341234 이였습니다.
이렇게 설정을 하고 일부로 비밀번호를 틀리고 이메일을 없는 걸로 로그인시도 해도 계속 이상한 문구만 뜨던 것..
위 움짤처럼 ERROR_INVALID_CREDENTIAL라고만 뜬다..
이유를 찾아보니 Firebase Authentication의 이메일 열거 보호가 활성화되어있던 것!
해결법
FirebaseConsole -> Authentication -> 설정 -> 사용자작업 -> 이메일 열거 보호(권장) 해제 -> 저장
보고 싶던 ERROR_USER_NOT_FOUND 에러와 ERROR_WRONG_PASSWORD에러가 뜬다..!
이메일 열거 보호 설정?
어쨌든 해결은 했다만 왜 이 설정이 권장이고 Default 값이 설정이 되어있는지 궁금해서 찾아봤습니다.
위 내용을 요약하면 이메일 열거 보호 기능은 2023년 9월 15일부터 시행이 되었습니다.
이 기능은 악의적인 사용자가 회원가입이 된 사용자들의 계정 해킹을 시도할 때 시스템에 존재하지 않는 이메일 주소인지, 비밀번호가 틀린 것인지 한눈에 파악할 수 있어서 로그인에 대한 시도를 했을 때 실패했다 면 ERROR_INVALID_CREDENTIAL 에러를 반환해서 악의적인 사용자로부터 일반 사용자 계정을 보호하기 위해 시행이 됐다고 합니다.
실제로 서비스하는 앱이라면 이 기능을 활성화하고 로그인에 실패했다는 문구만 뜨게 하는 것을 권장하는 듯합니다.
'Android Studio > - Honey Tip' 카테고리의 다른 글
[안드로이드] Foreground Service에서 Notification이 뜨지 않는 문제 (Feat. FastCampus) (0) | 2024.07.30 |
---|---|
[안드로이드] Extended Controls의 location 흰색화면 (0) | 2024.06.17 |
[안드로이드] RecyclerView 아이템 무한 중복생성 해결방법 + 이유 (1) | 2024.04.17 |
[안드로이드/카카오 오븐] 프로토 타이핑 툴 - 앱 기획 (0) | 2023.12.17 |
주코딩의 개발 노트!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!