Contents
はじめに:カスタムドメイン設定の概要
Auth0でカスタムドメインを設定することで、サードパーティサービスとブランドイメージの統一が可能になります。例えば、企業内社員向けの認証画面で「example.com/login」を使用すると、ユーザーは自社ドメイン経由でのログインが明確になり、セキュリティ意識が高まります(認証フローの透明性向上)。また、HTTPS通信による情報保護や、ブランドイメージの一貫性といったメリットがあります。Web開発者やDevOpsエンジニアは、ドメイン管理の初期段階で設定を完了することで運用負荷を軽減できるため、本記事の手順を参考に実装を進めましょう。
Auth0アカウントでのドメイン申請フロー
企業サイトやアプリケーションで利用する独自ドメインの準備は、Auth0管理画面での申請に先立って完了しておく必要があります。以下にステップを整理しました。
ドメイン名の準備手順
- ドメイン購入: 事前にドメイン登録サービス(例:.com/.net等)でドメインを取得します。
- DNS管理権限確認: 購入後、DNSレコード変更が可能な状態であることを確認します(CloudflareやRoute53などのプロバイダー使用時)。Auth0公式では特定のプロバイダーを推奨していないため、設定手順は各ドメインサービスに依存します。
- Auth0対応ドメイン: 一部のサードパーティサービスはAuth0との連携に制限があるため、事前にドメインの利用可否を確認しましょう。
Auth0管理画面への申請
- Auth0ログイン後、「**Applications > API Settings」にアクセスします。
- 「Allowed Callback URLs」「Allowed Logout URLs」などの項目で申請するドメイン名を登録します(例:
https://yourdomain.com/callback)。 - 「Domain Management」画面から、カスタムドメインの登録を実施します。
注意: ドメインの申請は、DNS設定が完了後に行う必要があります。未完成な状態で申請すると検証に失敗する可能性があります。
DNSレコード(CNAME/A记录)の設定手順
Auth0との連携には、ドメインのCNAMEレコードやAレコードを正しく設定することが不可欠です。以下に具体的な手順を解説します。
CNAMEレコード作成ガイド
CNAMEレコードは、Auth0が提供するエンドポイント(例:*.auth0.com)を参照するための設定です。
- DNSプロバイダーにログインし、「DNS設定」画面を開きます。
- 新規レコードを作成し、以下のように入力します。
- ホスト名:
auth(例:auth.yourdomain.com) - レコードタイプ: CNAME
- 値(Target):
your-auth0-subdomain.auth0.com(Auth0管理画面で確認) - 設定保存後、DNS変更の反映には最大72時間かかるため、早急な検証は避けてください。
| プロバイダー | 設定手順の特徴 |
|---|---|
| Cloudflare | ドメイン設定画面から直接レコード追加可能 |
| Route53 | AWSコンソール内での管理が必要 |
| Namecheap | DNSレコードの編集は「Domain List」よりアクセス |
Aレコード導入時の注意点
AレコードはIPアドレスを直接指定する方法です。ただし、Auth0ではCNAMEが推奨されるため、以下を意識してください。
- IPアドレスの変更リスク: Auth0のエンドポイントIPが変更されると、設定が無効になる可能性があります。
- TTL値の設定: DNSレコードの有効期限(例:3600秒)を短くし、変更時のプロパゲーション時間を最小限に抑えます。
SSL証明書の有効化方法
HTTPS通信の強制化はセキュリティ面で必須です。Auth0では2つのオプションが用意されており、それぞれの特徴を確認します。
Auth0提供証明書の活用
Auth0管理画面から自動発行されるLet's Encrypt証明書(Auth0経由で取得)を利用できます。手順は以下の通りです。
- 「Domain Management」画面を開き、「SSL Certificate」タブにアクセスします。
- 「Request SSL Certificate」をクリックし、ドメイン認証を実施します(Auth0が自動でLet's Encrypt証明書を発行)。
- 証明書が有効化されると、HTTPS通信が開始されます。
メリット: 手続きが簡単で、更新作業も不要です。
自持証明書のアップロード手順
既に自身で取得しているSSL証明書を導入する場合は、以下の手順を行います。
- 「Domain Management」画面 > 「Upload SSL Certificate」を選択します。
- 証明書ファイル(CRT)、秘密鍵(KEY)、CA Chainファイルのアップロードが必要です。
- 設定を保存後、HTTPS通信が開始されるまでに数分の待ち時間が発生する場合があります。
カスタムドメインの検証プロセス
DNS設定とSSL証明書の手順を完了した後は、Auth0によるドメインの自動検証フローが開始されます。以下に検証時のポイントをまとめます。
DNS変更後の確認手順
- ブラウザでアクセス:
https://yourdomain.comにアクセスし、SSL証明書の表示状態を確認します。 - Auth0管理画面のステータス確認: 「Domain Management」画面で「Verification Status」が「Verified」となっているか確認します。
Auth0側の自動検出フロー
- DNS変更後、Auth0は15分〜2時間程度かけてドメインを自動検証します(DNSプロパゲーション待ち時間が72時間を超える場合、この期間が延長されることがあります)。
- 検証失敗時のよくある原因:
- TTL値が長すぎた(DNSプロパゲーション待ち)
- CNAMEレコードのホスト名ミス
- SSL証明書の有効期限切れ
ヒント: 検証失敗時は「Verification Details」セクションにエラーメッセージが表示されるため、必ず確認してください。
トラブルシューティングの基本パターン
カスタムドメイン設定中に発生する代表的な問題と対応策を解説します。
403エラー対応策
- 原因: 認証フローでドメインが許可されていない場合に発生します(例:
Forbidden: Invalid domain in request)。 - 対処法:
- 「Allowed Callback URLs」「Allowed Logout URLs」など、Auth0管理画面の設定項目を再確認します。
- エラーメッセージが含まれるログを「Logs」タブで確認し、具体的な原因を特定します(例:
domain_mismatchエラーが表示される)。
DNSプロパゲーション待ちの判断基準
- DNS変更後の待機時間: 最大72時間を目安とします(プロバイダーによる)。Auth0側の検証期間(15分〜2時間)は、この反映時間に含まれないため、設定完了後も72時間以内にリトライしないでください。
- 確認方法:
dig yourdomain.comやnslookup yourdomain.comを実行し、IPアドレスが正しいかチェック。- DNSツール(例:DNSchecker.org)でグローバルなプロパゲーション状況を調査します。
注意: 再申請する場合は、30分以上のインターバルが必要です。短時間での再申請はAuth0側で拒否される可能性があります。