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

事前準備

この手順では、Auth0 のコンポーネントを設定するための Terraform による構成と、プロキシロジック用の 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 接続で想定される検証パラメーターを一時的に古いドメインの callback URL に向ける必要があります。
  1. read:connections および update:connections スコープを持つ、サービスプロバイダーのテナント用の Management API access token を取得します。
  2. destination URL を更新します。
  3. recipient URL を更新します。