Skip to main content
既存の SAML フェデレーション接続 を従来の Auth0 カスタムドメインから新しいドメインへ移行することで、テナントで Multiple Custom Domain (MCD) 機能を活用できるようになります。 外部 IDプロバイダー (IdP) では古いドメインがハードコードされていることが多いため、古いドメインに送信される SAML レスポンスをインターセプトし、それを新しいカスタムドメインへ安全に振り向けるスマート リバースプロキシをデプロイする必要があります。 これにより、フェデレーション ユーザーをシームレスに移行でき、IdP 側で必須の設定更新を待たずに、新しいドメインをすぐに使用できます。

前提条件

このプロセスでは、Terraform を使用した Auth0 コンポーネントの設定と、プロキシ ロジック用の Cloudflare Worker のデプロイが必要です。 移行を開始する前に、以下の要件を確認してください。
  • MCD が有効化された Enterprise プランのテナント。
  • Auth0 テナントに設定された、検証済みのカスタム ドメインが 2 つあること:
    1. 既存のレガシー ドメイン (プロキシ用)
    2. 新しいターゲット ドメイン (アプリケーション用)
  • Terraform CLI と Node.js/npm がインストールされていること。
  • カスタム ドメインをホストしているドメインにアクセスできる Cloudflare アカウント。

仕組み

この移行戦略では、スマートなリバースプロキシを使用して、従来のカスタムドメインから新しいドメインへの移行を橋渡しします。このプロキシは古いドメインにデプロイされ、外部のIDプロバイダー (IdP) から送信される SAML 認証レスポンスを受信して処理します。 これが必要なのは、IdP の設定が古いドメインのエンドポイントにハードコードされているためです。プロキシは、SAML ペイロード内の制御フィールド (DestinationRecipient など) を書き換え、新しいカスタムドメインを正しく反映させます。 最後に、プロキシはこの修正済みのペイロードを新しいドメインのログインエンドポイントに転送します。これにより、IdP パートナー側で手動の設定変更を行うことなく、ダウンタイムなしで新しいドメインへ切り替えられます。

セットアップと設定

移行のセットアップと設定を行うには、次の手順に従います。
  1. 移行用リポジトリをクローンします。
  1. 依存関係をインストールします。
  1. 必要な認証情報とドメイン情報を記載した terraform.auto.tfvars ファイルを、tf ディレクトリ内に作成します。
  1. Terraform を初期化し、適用します。
これにより、必要なSAMLアプリケーションと接続が作成され、Cloudflare 経由で DNS が設定され、Worker 用の環境変数が準備されます。

Cloudflare Worker をデプロイする

このプロキシは、SAML レスポンスのインターセプトとリダイレクトのロジックを担います。デプロイするには、次の手順に従います。
  1. Cloudflare プロキシをデプロイします。
  1. ワーカーは、Terraform の出力から必要な環境変数 (AUTH0_EDGE_LOCATIONNEW_SP_DOMAIN など) を自動的に取得します。

SAML 接続パラメーターを一時的に更新する

SAML レスポンスは、新しいドメインに再送信される前に、まず古いドメインで受信されます。そのため、不一致エラーを回避するには、SAML 接続で想定される検証パラメーターを一時的に古いドメインのコールバック URL に向ける必要があります。
  1. サービスプロバイダーのテナント用に、read:connections および update:connections スコープを持つ Management API アクセストークンを取得します。
  2. 宛先 URL を更新します。
  3. 受信者 URL を更新します。