メインコンテンツまでスキップ

カスタムドメイン

Logto テナントには、デフォルトで無料のドメイン {{tenant-id}}.app.logto が付与されます。しかし、カスタムドメイン(例:auth.example.com)を使用することで、ユーザー体験やブランド認知を向上させることができます。

カスタムドメインは、以下の機能で使用されます:

注記:

サービス公開後にドメインを変更すると、アプリケーションコードや統合部分が古いドメインを参照している場合があり、問題が発生する可能性があります。スムーズな移行のために、本番テナント作成時に最初からカスタムドメインを設定してください

コンソールでカスタムドメインを設定する

Logto コンソールで新しいカスタムドメインを追加するには、以下の手順に従ってください:

  1. コンソール > 設定 > ドメイン に移動します。

  2. 「カスタムドメイン」セクションで、ドメイン名を入力し「ドメインを追加」をクリックします。

    Add domain
  3. テーブル内の CNAME 値をコピーし、ドメインの DNS プロバイダーでレコードを追加します。

    Custom domain processing
  4. 認証 (Authentication) および SSL 処理が完了するまで待ちます。

    1. カスタムドメインが追加されるまで、10 秒ごとに自動でレコードを確認します。入力したドメイン名や DNS レコードが正確であることを確認してください。
    2. 認証 (Authentication) には通常数分かかりますが、DNS プロバイダーによっては最大 24 時間かかる場合があります。処理中は他のページに移動しても問題ありません。

トラブルシューティング

SSL 証明書の問題

カスタムドメイン設定時に SSL 証明書の問題が発生した場合、DNS 設定の CAA レコードが原因の可能性があります。CAA レコードは、どの認証局 (CA) がドメインの証明書を発行できるかを指定します。CAA レコードを使用している場合は、Logto で SSL 証明書を発行できるように "letsencrypt.org" と "pki.goog" の両方を許可する必要があります。

CAA レコードに関連する SSL 証明書の問題のトラブルシューティングと解決方法については、Cloudflare のドキュメント を参照してください。

「The hostname is associated with a held zone」エラー

カスタムドメイン追加時に「The hostname is associated with a held zone, please contact the owner to have the hold removed」というエラーメッセージが表示された場合、そのドメインがすでに Cloudflare ゾーンにあり、「Zone Hold」ステータスになっていることを意味します。詳細は Cloudflare のドキュメント をご覧ください。

この問題を解決するには、ゾーンホールドを解除する必要があります。Cloudflare での解除方法は上記リンクを参照してください。

Cloudflare ホストドメインでのタイムアウト(エラーコード 522)

ドメインが Cloudflare でホストされている場合、CNAME レコードの Cloudflare プロキシを無効にしてください。

カスタムドメイン設定後の「Redirect URI does not match」エラー

カスタムドメイン追加後に「redirect URI does not match」エラーが発生した場合、SDK 設定でエンドポイントとしてカスタムドメインを使用する必要があります。

「プライマリドメイン」について:

Logto には「プライマリドメイン」設定はありません。カスタムドメイン追加後も、カスタムドメインとデフォルトの {tenant-id}.logto.app ドメインの両方が有効です。SDK の endpoint パラメーターで設定したドメインが、認証 (Authentication) フローで使用されるドメインとなります。

解決方法:

SDK 初期化時の endpoint パラメーターをカスタムドメインに更新してください:

const client = new LogtoClient({
endpoint: 'https://auth.example.com', // カスタムドメインを使用
appId: 'your-app-id',
// ... その他のオプション
});

また、コンソール → アプリケーション で登録されているリダイレクト URI が、使用しているドメインと一致しているか確認してください。

注意: Logto はカスタムドメイン用の SSL 証明書を自動で発行・管理します。独自の証明書を設定する必要はありません。

カスタムドメインの利用

設定が完了すると、カスタムドメイン名とデフォルトの Logto ドメイン名の両方がテナントで利用可能になります。ただし、カスタムドメイン名を有効化するには、いくつかの設定が必要です。

注記:

本記事では、カスタムドメインを auth.example.com と仮定しています。

アプリケーション用 SDK エンドポイントの更新

Logto SDK の初期化コードで、エンドポイントのドメイン名を変更してください。

const client = new LogtoClient({
...,// その他のオプション
endpoint: 'https://auth.example.com',
});

その他アプリケーションの認証 (Authentication) エンドポイントの変更

Logto SDK を使用していないアプリケーションの場合は、認証 (Authentication) エンドポイントを更新する必要があります。

認証 (Authentication) エンドポイントは、次の well-known URL で確認できます:

https://auth.example.com/oidc/.well-known/openid-configuration

ソーシャルコネクターのコールバック URI の更新

ユーザーがカスタムドメインを利用している場合、ソーシャルコネクターのコールバック URI は自動的に新しいドメインに更新されます。ただし、ソーシャルプロバイダーの開発者コンソールでコールバック URI を手動で更新する必要があります。

ユーザーがカスタムドメインを利用している場合、ソーシャルコネクターのコールバック URI も新しいドメインとなります。そのため、ソーシャルプロバイダーの開発者コンソールに移動し、コールバック URI を手動で更新してください。