인프런 커뮤니티 질문&답변

Ian님의 프로필 이미지
Ian

작성한 질문수

Vue 3 & Firebase 10 커뮤니티 만들기 풀스택 - "활용편" (with Pinia, Quasar, Tiptap, VueUse)

사용자 프로필 & 이메일 변경하기

Firebase: Please verify the new email before changing email. (auth/operation-not-allowed). 해결 방법

작성

·

796

2

안녕하세요.

해당 강의 수강 중 이메일 변경 과정에서 에러가 발생하였고, 많은 분들이 해당 에러를 겪을 것 같아 해결방법 공유드립니다.

에러

firebase의 정책 변경에 따른 문제인지 이메일 변경시 변경하려는 이메일에 대한 인증이 필요하다는 에러가 나타납니다.

해당 에러는 이메일 열거 보호 (무차별 이메일 입력에 대한 대처)로 인해 나타나는 에러이며, 이메일 열거 보호를 해제하여 해결하였습니다.

참조: https://github.com/firebase/firebase-ios-sdk/issues/11886

 

해결방법

  1. Firebase 프로젝트 ID 확인
    https://console.firebase.google.com/
    Firebase 콘솔 접속 -> 해당 프로젝트 접속 -> 좌측 상단 프로젝트 개요 우측 톱니바퀴 -> 프로젝트 설정



    화면에 노출되는 Firebase 프로젝트 생성시 작성한 프로젝트 ID를 확인합니다.

  2. gCloud shell 접속


    https://console.cloud.google.com/welcome?cloudshell=true

    위 링크 접속시 하단에 CloudShell이 노출됩니다.

  3. gcloud access token 취득
    CloudShell 에 아래의 명령어를 입력해 accessToken을 취득합니다.
    gcloud auth print-access-token --project=PROJECT_ID


    위 명령어의 PROJECT_ID1. Firebase 프로젝트 ID 확인 에서 얻은 프로젝트 ID를 입력합니다.

  4. 이메일 열거 보호 비활성화
    CloudShell 에 아래의 명령어를 입력해 이메일 열거 보호를 비활성화 합니다.

    curl -X PATCH -d "{'email_privacy_config':{'enable_improved_email_privacy':"false"}}" \
        -H 'Authorization: Bearer ACCESS_TOKEN' \
        -H 'Content-Type: application/json' -H 'X-Goog-User-Project: PROJECT_ID' \
        "https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=email_privacy_config"

    여기서 PROJECT_ID는 3번과 동일한 프로젝트 ID를, ACCESS_TOKEN은 3번을 통해 취득한 ACCESS_TOKEN을 입력합니다.

이제 이메일 변경이 잘됩니다 :)

참조: https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection?hl=ko

이메일 열거 보호가 서비스중인 프로젝트라면 중요하겠지만 학습을 위한 개발단계인 현재는 비활성화해도 괜찮을 것 같습니다.
감사합니다.

답변 2

2

짐코딩님의 프로필 이미지
짐코딩
지식공유자

안녕하세요 🙂

이슈와 해결방법까지 자세히 공유해 주셔서 너무너무 감사드립니다 👍

해당 내용은 따로 "추가영상"으로 제작해서 업로드 해두었어요.

감사합니다!! 🙂

[추가영상] 이메일 열거 보호 비활성화(클릭)

0

이젠 firebase 콘솔에서 직접 바꾸는 것도 됩니다.

image

짐코딩님의 프로필 이미지
짐코딩
지식공유자

감사합니다 🙂

해당 내용도 공유할게요~!

Ian님의 프로필 이미지
Ian

작성한 질문수

질문하기