Auth0管理証明書のカスタムドメイン
verificationcertificate
Auth0 CLI
Auth0 Management API
/api/v2/custom-domains エンドポイントに対して GET リクエストを送信します。
status、verification.status、および検証済みの場合はcertificate.statusが含まれます。
files
検証プロセス
status は pending_verification に、verification.status は pending に設定されます。
証明書の発行プロセス
verification.status は verified に設定され、certificate.status は provisioning に設定されます。
証明書の作成とデプロイが正常に完了すると、certificate.status は provisioned に設定され、certificate.renews_before 属性には、Auth0 が証明書を自動更新する日付が示されます。
トラブルシューティング
status は failed に設定されます。次の対応を判断するには、verification.error_msg 属性を確認してください。
verification.error_msg 属性には、DNS verification record issue、Domain conflicts with network configuration、CAA record issue のいずれかが設定されます。
DNS verification record issue: Auth0 はCNAMEまたはTXTレコードを確認できませんでした。これは、レコードが存在しない、誤っている、またはまだ伝播していない場合に発生することがあります。Auth0 は失敗と判断するまで、最大 7 日間 DNS レコードの検証を試行します。
この DNS レコードは、恒久的に維持する必要があります。Auth0 が今後証明書を自動更新するために必要です。
-
Domain conflicts with network configuration: 通常、これは DNS プロバイダーとして Cloudflare を使用しており、Zone Hold が有効になっていることを意味します。Zone Hold により、Auth0 はカスタムホスト名を検証できません。 このエラーメッセージに対処するには:- Cloudflare で、DNS ゾーンから Zone Hold を削除します。
- プロセスを再開するには、Auth0 Dashboard > ブランディング > カスタムドメイン で 検証 を選択します。
- 検証が成功したら、Cloudflare Zone Hold を再度有効にできます。
-
CAA record issue: Auth0 はカスタムドメインの証明書を取得できません。 これは通常、ドメインの DNS Certification Authority Authorization (CAA) レコードによって、そのドメインに対してどの認証局が証明書を発行できるかが制限されていることが原因です。 このエラーメッセージに対処するには: 最も簡単な解決策は、検証しようとしている対象のカスタムドメインに設定されている CAA レコードを削除することです。これにより、Auth0 は制限なく証明書を発注してプロビジョニングできます。 現在の CAA レコードはdigコマンドで確認できます。your-custom-domain.comを実際のカスタムドメインに置き換えてください。
カスタムドメインはまだ検証待ちです
- Dashboard に引き続きこのエラーが表示される場合は、ドメイン管理サービスで CNAME レコードが正しく設定されていることを確認してください。CNAME レコードの設定は、次を使用して確認できます。
- そのドメイン名に A レコードがすでに設定されていないことを確認してください。
- CNAME レコードのドメイン名や値の入力またはコピーに誤りがないことを確認してください。
Cloudflare の CNAME フラット化
Auth0 では、Cloudflare のドキュメント Understand and configure CNAME flattening に記載されているとおり、どうしても必要な場合を除き、CNAME フラット化を無効にすることを推奨しています。Auth0 管理証明書に対する CNAME フラット化はサポート対象外の構成であるため、CNAME フラット化を有効にすると、予告なくカスタムドメインが機能しなくなる可能性があります。
「このエンドポイントにはアクセスしないでください」
「Service not found」
audience=https://login.acmetest.org/userinfo を指定して /authorize リクエストを送信すると、サーバーは Service not found: https://login.acmetest.org/userinfo エラーを返します。これは、カスタムドメインを設定していても、/userinfo エンドポイントの API 識別子は引き続き https://{yourOriginalAuth0Domain}/userinfo のままであるためです。
同様に、Auth0 Management API の呼び出しでカスタムドメインを使用しても、同じ理由でエラーになります。
この問題を修正するには、代わりにアプリで audience=https://{yourOriginalAuth0Domain}/userinfo を使用してください。アプリケーションの Advanced Settings の OAuth2 タブで、アプリケーションが OIDC準拠 として設定されている場合は、この audience=[...]/userinfo パラメーター自体を削除することもできます。