[개발] Firebase 의 sendEmailVerification 을 통한 이메일 인증시 emailVerified 변경 감지하기steemCreated with Sketch.

in hive-141202 •  2 years ago 

안녕하세요 @realmankwon 입니다.

며칠동안 잡고 있던 부분을 오늘에서야 해결하였습니다.
그동안 React 에서 onAuthStatusChanged 이벤트핸들러와 useEffect 를 이용해서 해볼려고 했었는데 실패했었습니다.
원인은 onAuthStatusChanged 가 auth.currentUser 의 값이 null 이냐 아니냐만 보는 것이었습니다.
일단 값이 들어가면 그 값의 속성이 변경되는 것은 감지하지 못하더군요.

결국은 1초에 한번씩 auth.currentUser 의 값이 있으면 auth.currentUser.reload() 를 시켜서 변경된 값을 가지고 옵니다.
이후 auth.currentUser.emailVerified 의 값을 보고 이메일 인증을 했는지 안 했는지의 여부를 알 수 있었습니다.

어쨌든 성공을 해서 좋긴한데 뭔가 깔끔한 것 같지 않네요.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  
  ·  2 years ago (edited)

개발 목표가 user property가 변경된 상황을 감지하시려고 하는거 같은데.

updateCurrentUser method로 처리해보셨을라나용?

https://firebase.google.com/docs/reference/js/auth.auth.md#authupdatecurrentuser

문서에도 나와있듯이 요녀석이 Auth.onAuthStateChanged()를 트리거하기 때문에 감지가 가능한 구조라서요.

아하 한번 시도해 보도록 하겠습니다!! ㅎㅎ