自己管理証明書を使ってカスタムドメインを構成する
Auth0からのサポートなしにカスタムドメインの証明書を管理する場合は、ドメイン上で複数のDNSレコードを必要とする受信接続の独自のプロキシと証明書を管理する方法を理解している必要があります。証明書を購入または提供し、更新をユーザー自身で管理しなければなりません。証明書がインストールされる場合はリバースプロキシも必要になります。ドメインが検証されたら、プロキシからトラフィックを受け取ります。
以下の操作を行うために、このオプションを選択してください。
証明書をより細かく制御する(独自のCAまたは証明書の有効期限を選択するなど)
Auth0へのAPI呼び出しの詳細なモニタリングを有効にする
自己管理証明書を使ってカスタムドメインを設定するには、ドメイン名をAuth0に提供し、そのドメインを所有していることを確認し、リバースプロキシを構成する必要があります。カスタムドメインを設定したら、使い始められるようにAuth0機能を構成する必要があります。
ドメイン名をAuth0に渡します。
[Dashboard]>[Settings(設定)]>[Custom Domains(カスタムドメイン)]または[Dashboard]>[Branding(ブランディング)]>[Custom Domains(カスタムドメイン)]に移動します。カスタムドメインを指定されたボックスに入力し、ドロップダウンメニューから[Self-managed Certificates(自己管理証明書)]を選択します。
[Add Domain(ドメインを追加)]をクリックします。ドメインを追加した後でも[Add Domain(ドメインを追加)]ボタンは表示されたままですが、テナントごとに追加できるドメインは1つだけです。
所有権を確認する
Auth0でドメインを使用するには、先にドメインを所有していることを確認する必要があります。
[Dashboard]>[Branding(ブランディング)]>[Custom Domains(カスタムドメイン)]の順に移動します。
TXT検証情報をドメインのDNSレコードに追加します。これらの手順は、お使いのドメインホストプロバイダーに応じて異なる場合があります。
値をコピーできるように、Auth0のカスタムドメインページをブラウザーで開いたままにします。
ドメイン管理サービスにログインします。
新しいレコードを作成し、以下の設定で保存します。
パラメーター 値 Record type(レコードタイプ) TXT Name(名前) Auth0から取得したドメインの**[TXT Record(TXTレコード)]**の値をコピーして貼り付けます。 Time to Live (TTL)(有効期限(TTL)) デフォルト値を使用します。 Value(値) Auth0から取得したドメインの**[TXT Content(TXTコンテンツ)]**の値をコピーして貼り付けます。
続行するには[Verify(確認)]をクリックします。
DNS設定によっては、ドメインが確認されるまで数分かかることがあります。
Auth0がドメイン名を正常に検証すると、確認の画面が表示されます。 この画面に入力された情報(具体的には
cname-api-key
値)を保存してください。この値を表示できるのはこのときだけです。検証プロセスが完了したら、1~2分以内にカスタムドメインが使用できるようになるはずです。3日以内に検証プロセスを完了できない場合は、これらの手順を繰り返してください。
リバースプロキシを構成する
リバースプロキシサーバーは、アプリケーションに代わって1つまたは複数のサーバーからリソースを取得します。この後、これらのリソースはアプリケーションに返され、元々プロキシサーバー自体にあったかのように見えます。
Cloudflare、Azure CDN、Google Cloud Platform、またはAWS Cloudfrontなどのサービスを使用し、カスタムドメインの設定を構成することができます。新しいCNAME値を、ディストリビューション用リバースプロキシのサーバードメイン名をポイントするカスタムドメインのDNSに追加します。
サービス上でリバースプロキシ設定を作成したら、[Auth0 Dashboard]>[Branding(ブランディング)]>[Custom Domains(カスタムドメイン)]タブの順に移動します。
新しいCNAMEレコードを、ディストリビューション用のサービスドメイン名をポイントするカスタムドメインのDNSに追加します。これを見つけるには、リバースプロキシのサーバー構成で[Distribution ID(ディストリビューションID)]を検索します。CNAMEレコードを追加したら、証明書の更新中に問題が発生するのを避けるために、このレコードは常時必要となります。
プロキシサーバーの構成方法は、使用するサービスごとに異なります。構成が必要となる可能性の高い設定タイプは以下のとおりです。
ディストリビューション設定
設定 | 値 |
---|---|
オリジンドメイン名 | カスタムドメイン設定プロセス中にAuth0 Dashboardから取得したオリジンドメイン名の値に設定します。 |
オリジンID | オリジンの説明。この値によって、同じディストリビューション内の複数のオリジンを見分けることができるため、この値は一意でなければなりません。 |
オリジンプロトコルポリシー | HTTPS Only に設定します。 |
代替ドメイン名(CNAMEs) | カスタムドメイン名(Auth0 Dashboardで設定したのと同じもの)に設定します。 |
オリジンのカスタムヘッダー設定
設定 | 値 |
---|---|
Header Name(ヘッダー名) | cname-api-key に設定します。 |
Value(値) | Auth0でドメイン名の所有権を確認した直後に提供されたCNAME APIキーの値に設定します。 |
オリジンのホスト名設定
設定 | 値 |
---|---|
Origin hostname(オリジンホスト名) | {yourTenant}-<CUSTOM_DOMAIN_ID>.edge.tenants.us.auth0.com を入力します。<CUSTOM_DOMAIN_ID> を、新しいカスタムドメインをセットアップしたときにAuth0から受け取ったオリジンドメイン名(カスタムドメインID)の値に置き換えます。テナントがUS地域内でない場合は、以下の1つを使用します。
cd_TXIdNgQ07HrAFVmz USのテナントについては、オリジンホスト名は以下にすべきです: US: {yourTenant}-cd-txIdngq07hrafvmz.edge.tenants.us.auth0.com |
Host header(ホストヘッダー) | オリジンホスト名に指定した名前を使用します。 |
カスタムドメインの詳細を取得する方法については、「カスタムドメイン構成を取得する」をご覧ください。
デフォルトのキャッシュ動作設定
設定 | 値 |
---|---|
[Viewer Protocol Policy(ビューワープロトコルポリシー)] | **[Redirect HTTP to HTTPS(HTTPをHTTPSにリダイレクト)]**を選択します。 |
[Allowed HTTP Methods(許可されたHTTPメソッド)] | **[GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE]**を選択します。 |
[Cache Based on Selected Request Headers(選択されたリクエストヘッダーに基づいたキャッシュ)] | **[Allow list(許可リスト)]**を選択します。 |
[Allow List Headers(許可リストヘッダー)] | 次のヘッダーを使用できます:User-Agent 、Origin 、Referer 、Authorization 、Accept 、Accept-Language |
[Forward Cookies(クッキーの転送)] | **[All(すべて)]**を選択します。 |
[Query String Forwarding and Caching(クエリ文字列の転送とキャッシュ)] | **[Forward all, cache based on all(すべて転送、すべてに基づいてキャッシュ)]**を選択します。 |
特定のAuth0機能で使用するその他の手順
使用しているAuth0機能に応じて、完了しなければならない手順がほかにもあります。詳細については、「カスタムドメインを使用するために機能を構成する」をお読みください。
Cloudflareでは、CNAME Flatteningと呼ばれる機能を使用します。この機能は、DNSレコードを処理する方法においてAuth0の検証と証明書更新に影響します。どうしても使用しなければならない場合を除き、CNAME Flattening機能はオフにすることを推奨します。詳細については、「Cloudflareのドキュメント」をお読みください。