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 |