인증 이메일에 커스텀 도메인 사용

프로젝트에서 커스텀 도메인을 사용하는 경우 이메일 인증, 주소 변경, 비밀번호 복구 과정과 같은 인증 이벤트를 위해 전송되는 이메일에 커스텀 도메인을 사용하는 것이 좋습니다. 이메일의 From 필드와 작업 링크에서 커스텀 도메인을 사용하도록 프로젝트를 구성할 수 있습니다.

인증 이메일에 커스텀 도메인을 구성하면 사용자에게 웹 주소 및 사용자 관리 이메일이 동일한 도메인으로 표시됩니다.

다음과 같은 두 가지 일반적인 단계를 통해 구성할 수 있습니다.

  • Firebase Console의 이메일 템플릿에 도메인을 추가합니다.
  • 도메인 등록기관에 DNS 레코드를 추가하여 도메인을 확인합니다.

이메일 템플릿에 도메인 추가

  1. Firebase Console에서 인증 섹션의 템플릿 페이지를 엽니다.

  2. 각 이메일 템플릿에 대해 다음을 수행합니다.

    1. 수정 아이콘()을 클릭합니다.
    2. 도메인 직접 입력을 클릭합니다.
    3. 사용할 도메인을 입력합니다.

그러면 도메인 소유권을 확인하기 위해 도메인 등록기관에 추가할 DNS 레코드 표가 표시됩니다.

도메인 확인

Firebase Console에서 제공된 TXT 및 CNAME DNS 레코드를 추가하거나 업데이트합니다. 작업 절차는 등록기관에 따라 다릅니다.

특정 도메인에 v=spf1... TXT 레코드는 하나만 있을 수 있습니다. 여러 이메일 주소를 지정해야 하는 경우 레코드 하나로 결합합니다.

도메인을 확인하는 데 최대 24시간이 걸릴 수 있습니다. 확인이 완료되면 Firebase Console의 템플릿 페이지에 초록색으로 '확인 완료' 메시지가 표시됩니다. 그런 다음 커스텀 도메인 적용 버튼을 클릭하여 변경사항을 적용할 수 있습니다.

멀티 테넌트 프로젝트

Identity Platform을 사용하여 Firebase 인증으로 업그레이드하고 멀티테넌시를 사용 설정한 경우 테넌트에서 커스텀 도메인, 이메일 템플릿, 커스텀 SMTP 설정을 상속하도록 허용하려면 테넌트 메타데이터를 업데이트해야 합니다. 그렇지 않으면 커스텀 도메인이 성공적으로 확인되고 적용된 경우에도 사용자가 기본 도메인에서 이메일을 받게 됩니다.

인증 이메일 메시지에 포함된 URL을 검사하여 멀티테넌시가 사용 설정되었는지 확인할 수 있습니다. URL에 tenant 매개변수가 포함되어 있으면 프로젝트의 테넌트 메타데이터를 업데이트해야 합니다.

이렇게 하려면 다음 명령어를 실행합니다.

curl -X PATCH -d "{'inheritance':{'emailSendingConfig': true}}" \
  -H "X-Goog-User-Project: PROJECT_ID"                          \
  -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
  -H 'Content-Type:application/json'                            \
  https://identitytoolkit.googleapis.com/v2/projects/PROJECT_ID/tenants/TENANT_ID?updateMask=inheritance.emailSendingConfig