OAuth/OIDCのmTLS
- 共有クライアントシークレットがクライアント認証の形式に使用されている
- アクセストークンが意図しない当事者によって使用される

/oauth/tokenエンドポイントを呼び出すと、クライアントのTLS証明書がアクセストークンの証明書に一致することを確認するためにリソースサーバーが使用する情報が、アクセストークンに含まれることになります。

Auth0でのmTLS
cname-api-keyを含む)。

https://<custom-domain>/.well-known/openid-configurationに送信します。
応答に成功すると、OIDCディスカバリードキュメントまたはJSONオブジェクトが返され、認可サーバーのプロパティとエンドポイント(mTLSに関連するものを含む)が一覧表示されます。
mTLSクライアント認証が有効な場合、OIDCディスカバリードキュメントにはtoken_endpoint_auth_methods_supportedプロパティが含まれます。このプロパティには、tls_client_authまたはself_signed_tls_client_authが含まれています。
tls_client_certificate_bound_access_tokensプロパティをtrue:に設定します。
mtls_endpoint_aliasesが公開されます。mTLSをサポートするクライアントの場合、mtls_endpoint_aliasesに表示されたエンドポイントが、mtls_endpoint_aliasesの外で公開された同じエンドポイントよりも優先されます。
以下のコードサンプルでは、token_endpointプロパティが2回公開されています。mTLSの呼び出しに使用するエンドポイントは、mtls_endpoint_aliasesまたはhttps://mtls.auth.bank.com/oauth/tokenに一覧表示されています。
mtls_endpoint_aliasesに一覧表示されていない場合は、mtls_endpoint_aliasesの外に一覧表示された同じエンドポイントを使用してください。上記の例では、pushed_authorization_request_endpointはmtls_endpoint_aliasesに一覧表示されていません。そのため、mtls_endpoint_aliasesまたはhttps://auth.bank.com/oauth/parの外に公開されたpushed_authorization_request_endpointを使用します。
詳細については、RFC 8705のエンドポイントに関するセクションを参照してください。
リソースサーバーを呼び出す
tls_client_certificate_bound_access_tokensプロパティを含むOIDCディスカバリードキュメントを返します。
クライアントがmTLSバウンドアクセストークンを使ってリソースサーバーを呼び出す場合、リソースサーバーはTLSハンドシェイク中にクライアントからmTLS証明書を要求します。リソースサーバーは、クライアント証明書が401 HTTPステータスコードとinvalid_tokenエラーコードに一致しないアクセストークンを持つ要求を拒否する必要があります。詳細については、「送信者制限用にリソースサーバーを構成する」をお読みください。