事前準備
この手順では、Auth0 のコンポーネントを設定するための Terraform による構成と、プロキシロジック用の Cloudflare Worker のデプロイが必要です。 移行を開始する前に、以下の要件を確認してください。- MCD が有効になっている Enterprise プランのテナント。
- Auth0 テナントに設定された、検証済みの 2 つのカスタムドメイン:
- 既存のレガシードメイン (プロキシ用)
- 新しいターゲットドメイン (アプリケーション用)
- Terraform CLI と
Node.js/npmがインストールされていること。 - カスタムドメインをホストしているドメインにアクセスできる Cloudflare アカウント。
仕組み
この移行戦略では、高機能なリバースプロキシを使って、従来のカスタムドメインと新しいドメインの間を橋渡しします。このプロキシは古いドメインにデプロイされ、外部のIDプロバイダー (IdP) から送信されるSAML認証レスポンスを受け取ります。 これは、IdPの設定が古いドメインのエンドポイントにハードコードされているために必要です。プロキシは、SAMLペイロード内の制御フィールド (Destination や Recipient など) を書き換え、新しいカスタムドメインが正しく反映されるようにします。
最後に、プロキシはこの修正済みのペイロードを新しいドメインのログイン エンドポイントに転送します。これにより、IdPパートナー側で手動による設定変更を行うことなく、新しいドメインへの無停止での切り替えが可能になります。
セットアップと設定
移行のセットアップと設定を行うには、次の手順に従います。- 移行リポジトリをクローンします。
- 依存関係をインストールします:
- 必要な資格情報とドメイン情報を含む
terraform.auto.tfvarsファイルをtfディレクトリに作成します:
- Terraform を初期化し、適用します:
Cloudflare Worker をデプロイする
このプロキシは、SAML レスポンスの傍受とリダイレクト処理を担います。デプロイするには、次の手順に従います。- Cloudflare プロキシをデプロイします。
- ワーカーは、Terraform の出力結果から必要な環境変数 (
AUTH0_EDGE_LOCATIONやNEW_SP_DOMAINなど) を自動的に受け取ります。
SAML 接続パラメーターを一時的に更新する
古いドメインは、新しいドメインに再送される前に SAML レスポンスを受信します。そのため、不一致エラーを避けるには、SAML 接続で想定される検証パラメーターを一時的に古いドメインの callback URL に向ける必要があります。-
read:connectionsおよびupdate:connectionsスコープを持つ、サービスプロバイダーのテナント用の Management API access token を取得します。 -
destination URL を更新します。
-
recipient URL を更新します。