ログイン時にカスタム ドメインを表示する

このドキュメントでは、ユーザーがログイン時にドメインを確認するように、Identity Platform の認証ハンドラをカスタマイズする方法について説明します。

デフォルトの認証ハンドラについて

プロジェクトで Identity Platform を有効にすると、Firebase Hosting で動作する固有のサブドメインが自動的に作成されます。そのドメインの形式は https://[PROJECT-ID].firebaseapp.com です。デフォルトでは、Identity Platform はこのドメインを使用して、すべての OAuth、OIDC、SAML ログインのリダイレクトを処理します。

デフォルト ドメインの使用には、次のような利点があります。

  • 設定の容易さ

  • 同じ連携プロバイダでの複数のドメインの使用

  • 1 つのコールバック URL を異なるのサービスやドメイン間で共有

  • アプリごとに 1 つのコールバック URL のみをサポートするプロバイダとの連携

デフォルトのハンドラの欠点は、ログイン時に https://[PROJECT-ID].firebaseapp.com の URL を一時的にユーザーが確認できることです。

認証ハンドラのカスタマイズ

デフォルトのハンドラをオーバーライドして独自のハンドラを指定するには:

  1. プロジェクトをカスタム ドメインに接続します。この手順は Firebase コンソールを使用して完了する必要があります。gcloud コマンドライン ツールまたは Cloud Console の使用はサポートされていません。

  2. Cloud Console で [ID プロバイダ] ページに移動し、SAML プロバイダを選択します。[ID プロバイダ] ページに移動

  3. [承認済みドメイン] のリストにカスタム ドメインを追加します。

  4. デフォルト ドメインの代わりにカスタム ドメインを使用するように、ID プロバイダでコールバック URL を更新します。たとえば、https://myproject.firebaseapp.com/__/auth/handlerhttps://auth.mycustomdomain.com/__/auth/handler に変更します。

  5. [保存] をクリックします。

Client SDK 構成の更新

通常は、Cloud Console からクライアント SDK の初期化コードをコピーできます。認証ハンドラをカスタマイズする場合は、authDomain フィールドをカスタム ドメインに更新する必要があります。

firebase.initializeApp({
  apiKey: '...',
  // Replace the default one with your custom domain.
  // authDomain: '[YOUR_APP]/firebaseapp.com',
  authDomain: 'auth.[YOUR_DOMAIN]'
});