Skip to main content
Demonstrating Proof-of-Possession (DPoP) を使用したトークンの送信者制約は、現在アーリーアクセス提供中です。この機能へのアクセスをリクエストするには、Auth0 の担当者にお問い合わせください。
送信者制約 は、アクセス トークンと を、それらを取得した特定のクライアント アプリケーションに暗号学的に結び付けることで、トークンの窃取や不正利用を防ぐ および Connect (OIDC) のセキュリティ メカニズムです。 Auth0 は、mTLS による送信者制約と Demonstrating Proof-of-Possession (DPoP) をサポートしています。クライアント アプリケーションで送信者制約を有効にする場合は、API 呼び出し先の に対しても適用を強制する必要があります。 Auth0 で送信者制約を設定するには、次の作業が必要です。

仕組み

が Auth0 で送信者制約されるかどうかは、クライアントアプリケーションとリソースサーバーで送信者制約をどのように設定しているかによって決まります。
  1. 要求されたオーディエンス: トークンリクエストで、要求されたオーディエンスが /userinfo のみであるか、/userinfo エンドポイントでのみ使用することを意図しているか、または openid スコープも要求した場合に /userinfo を含む可能性があるカスタム API であるかによって、アクセストークンが送信者制約されるかどうかが変わります。
  2. クライアントアプリケーション: クライアントアプリケーションで送信者制約を required に設定しているかどうか。
  3. リソースサーバー: リソースサーバーで送信者制約を設定しているかどうか。
    1. none: リソースサーバーで送信者制約を設定していません。
    2. allowed: 送信者制約の方式を設定することで、リソースサーバーで送信者制約を設定しています。
    3. required: リソースサーバーで送信者制約を必須として設定しており、アクセストークンはアプリケーションに対して送信者制約されている必要があります。送信者制約の方式が必要です。
  • Proof-of-Possession: トークンリクエストで、クライアントアプリケーションが Proof-of-Possession アサーションを送信したかどうか。
    • mTLS sender constraining: 所持の証明は、TLS ハンドシェイク中にクライアントが特定の秘密鍵 (クライアント証明書に関連付けられたもの) を正常に提示することで行われます。
    • DPoP: 所持の証明は、クライアントが DPoP Proof JWT を自身の秘密鍵で暗号学的に署名して作成し、関連付けられたアクセストークンを使用するすべてのリクエストの DPoP HTTP ヘッダーに DPoP Proof JWT を含めることで行われます。
次の表は、さまざまなクライアントリクエストパラメーターと Auth0 リソースサーバーの設定に基づいて、アクセストークンがどのように発行されるか、および送信者制約されるかどうかを示しています。

クライアントアプリケーションの送信者制約を設定する

クライアントアプリケーションに送信者制約を必須にすると、アクセストークンはそのアプリケーションに関連付けられます。Auth0 はリクエストを検証し、トークンを要求したアプリケーションだけが、そのトークンを使用して関連するリソースにアクセスできることを確認します。 クライアントアプリケーションで送信者制約を必須にするよう設定すると、リソースサーバーの設定時に、送信者制約の方式として mTLS または DPoP を設定できます。 クライアントアプリケーションの送信者制約は、 または を使用して設定できます。
  1. Dashboard > Applications > Applications に移動し、設定するアプリケーションを選択します。
  2. Settings で、Token Sender-Constraining までスクロールします。
  3. Require Sender Constraining をオンにします。オフにすると、そのアプリケーションの 送信者制約 必須設定が解除されます。

リソースサーバーの送信者制約を設定する

Auth0 が発行するアクセストークンは、リソースサーバー上の API にアクセスする必要がある送信者 (つまりクライアントアプリケーション) に制約できます。 Auth0 Dashboard または Management API を使用して、リソースサーバーの送信者制約を設定できます。
Token Binding または送信者制約を有効にするには、API の API Settings を設定します。
  1. Auth0 Dashboard > Applications > APIs に移動します。
  2. 設定する API を選択します。
  3. Settings タブで、Token Sender-Constraining セクションを探します。
  4. 次の項目を設定します。
    1. Sender Constraining Method:
      1. None: リソースサーバーの送信者制約方式を有効にしません。
      2. mTLS: リソースサーバーの送信者制約方式として mTLS を有効にします。
      3. DPoP: リソースサーバーの送信者制約方式として DPoP を有効にします。
B. Require Token Sender Constraining をオンにします。この API に対してアプリケーションに発行されるすべてのアクセストークンは、そのアプリケーションに制約されます。
Auth0 Dashboard > APIs > Settings > Token binding