Aller au contenu principal

9. Resource Server-Provided Nonce

9. Resource Server-Provided Nonce

Les serveurs de ressources peuvent également choisir de fournir une valeur de nonce à inclure dans les preuves DPoP envoyées. Le serveur de ressources fournit le nonce en utilisant l'en-tête DPoP-Nonce de la même manière que le serveur d'autorisation (décrit dans les sections 8 et 8.2). La signalisation des erreurs est effectuée comme décrit dans la section 7.1. Le serveur de ressources utilise le code d'erreur HTTP 401 (Non autorisé) et les valeurs WWW-Authenticate: DPoP et DPoP-Nonce correspondantes pour y parvenir.

Par exemple, en réponse à une demande de ressource sans nonce alors que le serveur de ressources exige un nonce, le serveur de ressources peut renvoyer une valeur DPoP-Nonce telle que ce qui suit pour fournir une valeur de nonce à inclure dans la preuve DPoP. L'exemple suivant utilise "\" pour le retour à la ligne, conformément à la [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

Figure 24: Réponse HTTP 401 à une demande de ressource sans nonce

Notez que les nonces fournis par les serveurs d'autorisation et les serveurs de ressources sont distincts et ne doivent pas être confondus les uns avec les autres, car un nonce ne sera accepté que par le serveur qui l'a émis. De même, si un client utilise plusieurs serveurs d'autorisation ou serveurs de ressources, les nonces émis par l'un d'entre eux ne doivent être utilisés qu'avec l'émetteur. Les développeurs doivent également veiller à ne pas confondre le nonce DPoP avec le nonce du jeton d'identité OpenID Connect [OpenID.Core].