/oauth/token/oauth/par/userinfo
クライアント証明書を検証する
Customer Edge ネットワークでは、想定されるクライアント証明書の種類に応じた検証を行います。一般的なセキュリティ上の問題や落とし穴を避けるため、可能であれば十分に評価された証明書検証ライブラリを使用してください。クライアント証明書の検証に失敗した場合に想定される動作は、導入環境に依存するため、この文書の対象範囲外です。CA署名付き証明書
証明書が認証局 (CA) によって署名されている場合は、ルート証明書を含む証明書の信頼チェーンを検証する必要があります。また、その証明書が登録済みで失効していないことを確認するために、許可リストまたは拒否リストと照合することもあります。公開認証局を使用してクライアント証明書に署名すると、クライアントアプリケーションがなりすましに悪用されるリスクが高まる可能性があるため、使用しないことを推奨します。自己署名証明書
自己署名証明書は信頼の連鎖に基づいていないため、証明書チェーンを検証できません。代わりに、証明書のサムプリントを登録済みの証明書データベースと照合するか、この確認を行うために Auth0 に直接転送することができます。リクエストを転送する
証明書が検証されると、リクエストは顧客側から渡された複数の特別なヘッダーとともに、Auth0 のエッジネットワーク 上にあるカスタムドメインの転送先の同じエンドポイントに転送されます。転送するリクエストには、次のヘッダーを含める必要があります。-
Custom Domain API キーを
cname-api-keyヘッダーとして含めます。 -
クライアント証明書を
client-certificateヘッダーとして含めます。注: HTTP ヘッダーはテキストである必要があるため、証明書は URL コンポーネントエンコードされた PEM に変換する必要があります。ヘッダー値は 4096 バイトまでに制限されています。そのため、チェーン内の最初の証明書のみを Auth0 に転送してください。 -
クライアント証明書の CA 検証ステータスを
client-certificate-ca-verifiedヘッダーとして含めます。client-certificate-ca-verifiedヘッダーには、次の値を指定できます。- SUCCESS: クライアント証明書が有効であり、認証局によって検証済みであることを示します。
- FAILED: 提示されたクライアント証明書は有効ですが、証明書の信頼チェーンが認証局によって検証されていないことを示します。つまり、自己署名証明書です。必要に応じて失敗理由を含めることもできます。
client-certificate-ca-verified:FAILED ヘッダーが送信されることを想定しています。Auth0 はこのヘッダー値に基づいて、どのクライアント認証方式が使用されたか、およびどのクライアント資格情報を照合して検証すべきかを判断します。