仕組み
-
要求されたオーディエンス: トークンリクエストで、要求されたオーディエンスが
/userinfoのみか、/userinfoエンドポイントでのみ使用することを意図しているか、またはopenidスコープも要求した場合に/userinfoを含む可能性があるカスタム API かどうかによって、アクセストークンが送信者制約されるかどうかが決まります。 -
クライアントアプリケーション: クライアントアプリケーションで送信者制約を
requiredに設定しているかどうか。 -
リソースサーバー: リソースサーバーに送信者制約を設定しているかどうか。
none: リソースサーバーに送信者制約を設定していません。allowed: 送信者制約方式を設定して、リソースサーバーに送信者制約を構成しています。required: リソースサーバーに送信者制約を必須として設定しています。つまり、アクセストークンはアプリケーションに対して送信者制約されている必要があります。すべてのアプリケーション、またはパブリックアプリケーションのみに対して送信者制約を必須にできます。送信者制約方式が必要です。
送信者制約方式として mTLS を使用する場合、送信者制約は常にすべてのアプリケーションで必須です。mTLS はパブリックアプリケーションをサポートしていないため、mTLS 送信者制約をパブリッククライアントのみに限定することはできません。
-
所有証明: クライアントアプリケーションがトークンリクエストで所有証明アサーションを送信したかどうか。
- mTLS 送信者制約: 所有証明は、TLS ハンドシェイク中にクライアントが特定の秘密鍵 (クライアント証明書に関連付けられたもの) を正常に提示することで証明されます。
- DPoP: 所有証明は、クライアントが秘密鍵で暗号学的に署名した DPoP Proof JWT を作成し、関連付けられたアクセストークンを使用するすべてのリクエストの DPoP HTTP ヘッダーに
DPoPProof JWT を含めることで実現されます。
クライアントアプリケーションの送信者制約を設定する
- Auth0 Dashboard
- Management API
- Dashboard > Applications > Applications に移動し、設定するアプリケーションを選択します。
- Settings で Token Sender-Constraining までスクロールします。
- Require Sender Constraining をオンにします。アプリケーションの送信者制約の必須設定を解除するには、オフにします。

リソースサーバーの送信者制約を設定する
- Auth0 Dashboard
- Management API
トークンバインディングまたは送信者制約を有効にするには、API の API Settings で設定を行います。
- Auth0 Dashboard > Applications > APIs に移動します。
- 設定する API を選択します。
- Settings タブで、Token Sender-Constraining セクションを探します。
-
次の項目を設定します。
-
送信者制約方式:
- なし: リソースサーバーに送信者制約方式を設定しません。
- mTLS: リソースサーバーの送信者制約方式として mTLS を有効にします。
- DPoP: リソースサーバーの送信者制約方式として DPoP を有効にします。
-
トークン送信者制約を必須にする: この API に適用する送信者制約ポリシーを選択します。
- 常に: すべてのアプリケーションで送信者制約を必須にします。mTLS を使用する場合に選択できるのはこのオプションのみです。
- パブリックアプリケーションの場合: パブリックアプリケーションでのみ送信者制約を必須にします。このオプションは mTLS を使用する場合は選択できません。
- しない: 送信者制約は必須ではありません。
-
送信者制約方式:
