web-dev-qa-db-fra.com

Utilisation de nbf dans les jetons Web JSON

nbf: définit le délai avant lequel le JWT NE DOIT PAS être accepté pour le traitement

J'ai trouvé cette définition à propos de nbf dans les jetons Web json. Mais vous vous demandez toujours à quoi sert nbf? Pourquoi utilisons-nous cela? Est-ce lié à la durée de la garantie?

Toute idée sera la bienvenue.

21
Vahid Najafi

C'est définitivement à la façon dont vous interprétez le temps.

Un des scénarios possibles que je pourrais inventer est littéralement - quand un jeton doit durer à partir d'un moment donné jusqu'à un autre moment.

Disons que vous vendez une API ou une ressource. Et un client a acheté un accès qui dure une heure et l'accès commence demain à midi.

Vous émettez donc un JWT avec:

  • iat défini sur now
  • nbf fixé à 12h00 demain
  • exp fixé à 13 h 00 demain
47
zerkms

Il peut être accordé un délai de 3 secondes à compter de sa création pour éviter les robots et permettre uniquement aux utilisateurs humains d'accéder à l'API.

"nbf" signifie "pas avant".

Si nbf = 3000, le jeton ne peut pas être utilisé avant 3 secondes de création. Cela rend une attaque par force brute presque impossible.

4
Jasmeet Singh