メインコンテンツまでスキップ

9. Resource Server-Provided Nonce (リソースサーバー提供のノンス)

9. Resource Server-Provided Nonce (リソースサーバー提供のノンス)

リソースサーバーもまた、送信される DPoP 証明に含めるためのノンス値を提供することを選択できます。リソースサーバーは、認可サーバーが行うのと同じ方法(第 8 節および第 8.2 節で説明)で DPoP-Nonce ヘッダーを使用してノンスを提供します。エラー通知は、第 7.1 節で説明されているように実行されます。リソースサーバーは、これを達成するために、HTTP 401 (Unauthorized) エラーコードと、付随する WWW-Authenticate: DPoP 値および DPoP-Nonce 値を使用します。

たとえば、リソースサーバーがノンスを必要とする場合に、ノンスなしのリソースリクエストへの応答として、リソースサーバーは以下のような DPoP-Nonce 値を返して、DPoP 証明に含めるノンス値を提供できます。以下の例では、[RFC8792] に従って "\" を使用して行を折り返しています。

HTTP/1.1 401 Unauthorized
WWW-Authenticate: DPoP error="use_dpop_nonce", \
error_description="Resource server requires nonce in DPoP proof"
DPoP-Nonce: eyJ7S_zG.eyJH0-Z.HX4w-7v

図 24: ノンスのないリソースリクエストに対する HTTP 401 レスポンス

認可サーバーとリソースサーバーによって提供されるノンスは異なり、ノンスはそれらを発行したサーバーによってのみ受け入れられるため、互いに混同すべきではないことに注意してください。同様に、クライアントが複数の認可サーバーやリソースサーバーを使用する場合、それらのいずれかによって発行されたノンスは、発行元のサーバーでのみ使用されるべきです。開発者は、DPoP ノンスを OpenID Connect [OpenID.Core] ID トークンのノンスと混同しないようにも注意する必要があります。