認証メールにカスタム ドメインを使用する

プロジェクトでカスタム ドメインを使用する場合は、メール確認、アドレス変更、パスワードの再設定フローなどの認証イベントに関して送信されるメールでもカスタム ドメインを使用することを検討してください。メールの From フィールドとアクション リンクでカスタム ドメインを使用するようにプロジェクトを構成できます。

認証メールにカスタム ドメインを構成すると、ウェブアドレスとユーザー管理メールのドメインが同じになります。

この設定は、大まかに次の 2 つのステップからなります。

  • Firebase コンソールで、メール テンプレートにドメインを追加します。
  • ドメイン登録事業者に DNS レコードを追加して、ドメインの所有権を確認します。

メール テンプレートにドメインを追加する

  1. Firebase コンソールで、[Authentication] セクションの [Templates] ページを開きます。

  2. メール テンプレートごとに、次の操作を行います。

    1. 編集アイコン()をクリックします。
    2. [ドメインをカスタマイズ] をクリックします。
    3. 使用するドメインを入力します。

ドメイン登録事業者に追加する DNS レコードの表が表示されるので、ドメインの所有者であることを確認します。

ドメインを検証する

Firebase コンソールで指定した TXT レコードと CNAME DNS レコードを追加または更新します。そのための手順は、登録事業者によって異なります。

特定のドメインに対して設定できる v=spf1... TXT レコードは 1 つだけです。複数のメールアドレスを指定する必要がある場合は、1 つのレコードにまとめることができます。

ドメインの所有権の確認手続きには、最長で 24 時間ほどかかることがあります。確認手続きが終了すると、Firebase コンソールの [Templates] ページに緑色で「確認が完了しました」というメッセージが表示されます。[カスタム ドメインを適用] ボタンをクリックして変更を反映します。

マルチテナント プロジェクト

Identity Platform を使用する Firebase Authentication にアップグレードしてマルチテナンシーを有効にした場合は、テナント メタデータを更新して、テナントがカスタム ドメイン、メール テンプレート、カスタム SMTP 設定を継承できるようにする必要があります。 そうしないと、カスタム ドメインの検証と適用が成功しても、ユーザーは依然としてデフォルト ドメインからメールを受信します。

マルチテナンシーが有効かどうかを確認するには、Auth メール メッセージに含まれる 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