Flutter 개발 상자

[Flutter] This operation is sensitive and requires recent authentication. Log in again before retrying this request. 파이어베이스 연동 Apple계정 탈퇴시키기 본문

Flutter/오류해결

[Flutter] This operation is sensitive and requires recent authentication. Log in again before retrying this request. 파이어베이스 연동 Apple계정 탈퇴시키기

망고상자 2023. 11. 16. 11:16
728x90

에러 분석

 

에러의 원인

에러 본문에 나온것처럼 탈퇴를 하기 위해서는 다시 재로그인(재인증)이 필요하다. 보통 회원탈퇴를 할때 비밀번호를 다시 재요구하는것처럼 악의적이거나 실수로 탈퇴하는것을 방지하기 위해서 이런 장치가 걸려있는것으로 보인다.

 

에러를 무시하면 안되는가

일단 에러가 발생하면 실질적으로 파이어베이스 계정이 삭제되지 않는다.

회원 정보를 어떻게 저장하느냐에 따라서 좀 달라지겠지만 이 회원이 탈퇴회원인지 액티브 회원인지 판단하는데 문제가 생길 수 있다. 또한 파이어베이스SDK 내부에 유저의 정보가 남아있기 때문에 구현을 여부에 따라 탈퇴 후 재가입을 하는데 애플 인증을 다시 거치지 않는 등의 자잘한 이슈가 발생할 수 있다.

 

해결 방법

 

애플계정 재인증해주기

User? user = FirebaseAuth.instance.currentUser;
      if (user != null) {
        try {
          // 재인증
          await user.reauthenticateWithProvider(AppleAuthProvider());
          await user.delete();
        } catch (_) {
          // 에러 처리
        }
      }

 

user.reauthenticateWithProvider()

해당 메서드로 손쉽게 가능하다.

한줄짜리 메서드지만 찾는데 고생을 좀 해서 기록 해둬야겠다.

 

 

요약

  • user.reauthenticateWithProvider(AppleAuthProvider())
728x90