概要
重要なコンセプト
- カスタムドメインが動作するようにAuth0サービスを構成する
- Auth0 Dashboardを使ってカスタムドメインの検証プロセスを完了させる
- カスタムドメインで動作する機能の表を確認する
- URIやトークン要求でカスタムドメインが機能する仕組みを確認する
- 証明書の管理を自分で行うのか、Auth0に任せるのかを選択する
YOUR_DOMAIN.auth0.comの代わりにlogin.YOUR_DOMAIN.comなどのブランドが表示されます。Auth0のカスタムドメインは、テナントドメインURLの「マスク」のようなものです。
テナントの作成時にカスタムドメインを設定することも、コードと設定を若干変更して既存の実装にカスタムドメインを追加することもできます。
カスタムドメインを使用する利点
カスタムドメインを使用していれば、ユーザーは、より確信をもって自分の資格情報を適切な相手に提供できます。認証はブランドのコンテキスト内で行われるため、ブランドロイヤリティの構築に役立ちます。ユーザーが、ブランドのコンテキストを壊すサードパーティのサイトにリダイレクトされることはありません。これにより、ユーザーがまだ取引や操作が続いているのかどうか混乱する、といったことを避けることができます。 認証サービスを1か所に含めることで、アプリケーションアーキテクチャの保守が容易になります。アプリケーションは必要なアクセスのみを取得し、認証サービスは簡単に拡張できます。カスタムドメインを使用することによるその他のセキュリティ上の利点は以下のとおりです。- 一部のブラウザーでは、共有ドメインがない場合、デフォルトでiFrameでの通信が困難になります。
- バニティーURLがある場合、URLを模倣するにはバニティーURLを作成する必要があるため、ドメインのフィッシング詐欺が難しくなります。たとえば、カスタムドメインを使用すると、独自の証明書を使用して拡張認証を取得できるため、フィッシングがより困難になります。
仕組み
カスダムドメインを構成する場合は、の[Auth0 Dashboard]>[Branding(ブランディング)]>[Custom Domains(カスタムドメイン)]タブで行います。カスタムドメインを追加し、証明書の種類を選択して、指示に従います。ドメインの検証プロセスを完了します。検証プロセスは、Auth0管理証明書を使用するか自己管理証明書を使用するかによって異なります。CNAMEを作成するときは、Auth0がCNAMEを検証してカスタムドメインを使用できるように、CNAMEをAuth0に対して宣言する必要があります。カスタムドメインを構成し確認したら、新しいカスタムドメインを使用するためにAuth0の機能を構成する必要があります。無料のカスタムドメインをセットアップするには、Auth0テナントは検証目的および詐欺防止のために有効なクレジットカードをファイルに保有していなければなりません。クレジットカードには請求されません。
login.YOUR_DOMAIN.comをYOUR_DOMAIN.auth0.comにマッピングするCNAMEを作成することができます。
IPアドレスは変更されやすいため、Auth0はIPアドレスの静的なリストを提供していません。代わりに、カスタムドメインをAllow List(許可リスト)に追加することをお勧めします。
YOUR_DOMAIN.auth0.comを使用した既存の統合はそのまま機能します。変更後は既存のセッションが無効になるため、ユーザーは再度ログインする必要があります。さらに、ログイン中にエラーが発生した場合、ユーザーはカスタムドメインに関連付けられたブラウザーCookieを削除しなければならない場合があります。埋め込み型のLockまたはSDKを使用する場合は、標準ドメイン設定とカスタムドメインのどちらを使用するかを選択できます。
カスタムドメインと認証
以下のAuth0認証機能は、カスタムドメインの使用をサポートしています。カスタムドメインとURI
Auth0は、サードパーティのIDプロバイダーやアプリケーションの相互運用性と設定のために、特定のメタデータエンドポイントを使用します。メタデータにAuth0を指し示すURIが含まれている場合は、メタデータの要求に使用したホスト名に応じて、URLはAuth0サブドメインまたはカスタムドメインのいずれかになります。例:
詳細については「ログイン後にユーザーをリダイレクトする」を参照してください。
この柔軟性は、以下の認証シナリオに適用されます。
カスタムドメインとトークン要求
Auth0は、トークン要求で使用したドメインに対して、issクレームを持つトークンを発行します。例:
カスタムドメインを使った認可フローを使用してのアクセストークンを取得する場合は、そのカスタムドメインを使用してManagement APIを呼び出す必要があります。そうしないと、トークンは無効とみなされます。トークンの
issクレームは、オーディエンスに依存しません。カスタムドメインを使用して取得したトークンの場合、オーディエンスの値は変わりません。トークンの詳細については、「Management APIのアクセストークン」をご確認ください。
証明書管理のオプション
Auth0管理証明書
Auth0は、カスタムドメインの証明書を管理し、SSLハンドシェイクを直接管理できます。ドメインにCNAMEレコードを追加すると、Auth0がそのレコードを確認し、Auth0サーバー上に証明書を生成します。この証明書は3か月ごとに自動的に更新されます。確認したら、カスタムドメインの使用を開始するために、Auth0の機能を構成します。詳細については、「Auth0管理証明書を使ってカスタムドメインを構成する」をご確認ください。自己管理証明書
カスタムドメインで独自の証明書を取得し管理することができます。この場合、SSL証明書を処理し、コンテンツをAuth0に送信するためのリバースプロキシを設定および管理するのはユーザーの責任です。Auth0は、エンドユーザークライアントと直接SSLをネゴシエートするのではなく、プロキシとSSLをネゴシエートします。その後、プロキシはエンドユーザーとSSLをネゴシエートします。他人が所有しているドメインから、誰かがあなたのAuth0アカウントを使用しようとするのを防ぐために、Auth0はそのドメインがあなたに属していることを検証する必要があります。検証するには、Auth0にヘッダー(cname-api-key)を指定する必要があります。このオプションを使用するには、Auth0のエンタープライズサブスクライバーである必要があります。
Auth0は、以下のプロバイダーのリバースプロキシを設定する手順を提供しています。