利用可否は Auth0 のプランによって異なります
この機能を利用できるかどうかは、Auth0 のプランまたは個別契約の内容によって異なります。詳しくは、Auth0 の料金ページをご覧ください。
Cloudflare を設定する
- まだ実施していない場合は、自己管理証明書を使用してカスタムドメインを設定および検証 します。後で必要になるため、Origin Domain Name と cname-api-key の値を控えておいてください。
-
対象ゾーンの Cloudflare ダッシュボードで、次の設定を使用して CNAME レコードを作成 します。
-
選択したカスタムドメイン配下のすべての URL を対象に、次の設定で Page Rule を作成 します。
-
Transform Rule を作成 します。
自己管理証明書のカスタムドメインの要件を満たすリバースプロキシを設定するために、Page Rule や Transform Rule の代わりに Cloudflare Workers を使用することもできますが、カスタムコードが不要になるため、ルールベースの方法を推奨します。
- Modify Request Header ビューに切り替えます。
- Create Rule を選択し、任意の名前を入力します。
- When incoming requests match で Custom filter expression を選択し、選択したカスタムドメインに関連するリクエストだけを対象にする式を設定します。たとえば、Hostname フィールドの完全一致を使用します。
-
Modify request header で Set static を選択し、次のフィールドを設定します。
- 選択したカスタムドメインで、Always Use HTTPS が有効になっており、encryption mode が少なくとも Full に設定されていることを確認します。
Managed Challenges を使用する
Universal Login のブラウザーベースのエンドポイント
Classic Universal Login を使用している場合は、Managed Challenge ルールに
/login も含めてください。除外するエンドポイント
ルールの例
YOUR_CUSTOM_DOMAIN をカスタムドメイン (たとえば login.example.com) に置き換えてください。
一部のユースケースでは、動作が異なる場合があります。
- クリアランス Cookie の保持: ブラウザーが Managed Challenge を通過すると、Cloudflare は通常、セッション中有効なクリアランス Cookie を発行します。設定によっては、ルールの対象を
/authorizeのみに絞るだけで、すべての/u/*パスに適用しなくても Universal Login フロー全体をカバーするのに十分な場合があります。 - OAuth 以外のエントリポイント: SAML の SP 起点または WS-Federation のエントリポイントから開始するフローでは、
/authorizeではなく/samlp/*または/wsfed/*が使用されます。これらのパスは除外リストに含まれているため、Managed Challenge を適用しないでください。
Auth0 を設定する
true-client-ip からエンドユーザーの IP アドレスを取得するように設定されます。
必ず
true-client-ip を使用してください。この目的で HTTP ヘッダー cf-connecting-ip を使用することは、Cloudflare ではサポートされていません。