본문 바로가기

개발 일지/토이 프로젝트

firebase 사용자 재인증

firebase auth 로 로그인, 회원가입 기능을  공식문서를 보면서 쉽게 구현했다. 

그러나 비밀번호 변경 기능을 구현하려고 하는데

auth/requires-recent-login

이런 오류가 자꾸 뜨더라

 

문서를 다시한번 자세히 읽어보니 

이런게 있었네..

 

여기서 TODO(you) 는 내가 직접 credential  함수를 만들어야 한다는 거다. 

일반적으로  회원탈퇴를 하거나 비밀번호 변경을 할때   비밀번호를 한번더 입력하는  과정을 거치는데 

credential 이 그 역할을 하는것 

나는 이메일 계정을 통한 로그인 기능을 만들었기에 

 const credential = EmailAuthProvider.credential(user.email, password);
  //  비밀번호 확인작업, 여권을 만든다고 생각하면됨

이렇게 이메일과 비밀번호로  여권을 만들었음

 

그리고 

reauthenticateWithCredential(user, credential)
      .then(() => {
        //재인증이 성공하면 아래 함수 실행
        if (checkNewPasswordHandler) {
          // 파이어베이스에서 제공하는 updatePassword 함수
          updatePassword(user, newPassword)
            .then(() => {
              alert('비밀번호 변경이 완료되었습니다.');
              setDp(false);
            })
            .catch((error) => {
              console.log(error);
            });

파이어베이스에서 하라는대로 사용자 재인증 함수를 가지고  온 뒤에 

비밀번호 변경 함수를 넣어줬음

 

아주잘됨 

굿 

'개발 일지 > 토이 프로젝트' 카테고리의 다른 글

RN-이미지 변경 및 업로드  (0) 2023.01.13
최신순으로 나누기  (0) 2023.01.12
React native 에서는 display:block 이 안된다.  (0) 2023.01.09
버튼색상 변경  (0) 2023.01.07
React Native 프로젝트 시작  (0) 2023.01.07