Skip to main content
Pour atténuer les attaques par rejeu lors de l’utilisation de l’flux implicite avec Form Post, un doit être envoyé dans les requêtes d’authentification comme l’exige la spécification OpenID Connect (OIDC). Le nonce est généré par l’application, envoyé à titre de paramètre nonce de la chaîne de requête dans la requête d’authentification, puis inclus dans la réponse d’Auth0. Cela permet aux applications de corréler la réponse ID Token d’Auth0 avec la requête d’authentification initiale. Pour en savoir plus sur l’endroit où inclure le nonce, consultez ajouter la connexion à l’aide du flux implicite avec Form Post.
Auth0.js gère les paramètres state et nonce pour vous lorsque vous utilisez l’authentification inter-origines.

Générer un nonce cryptographiquement aléatoire

Une façon de générer un nonce cryptographiquement aléatoire consiste à utiliser un outil comme Nano ID ou un équivalent. Cela dit, vous devez alors inclure cet outil dans votre code JavaScript. Si ce n’est pas possible, vous pouvez profiter du fait que les navigateurs modernes peuvent utiliser la Web Crypto API pour générer des chaînes aléatoires cryptographiquement sûres à utiliser comme nonces.

Enregistrer les nonces d’une requête à l’autre

Le nonce généré doit être enregistré dans votre application Web à l’aide de l’une des méthodes suivantes :
  • HttpOnly
  • valeur dans le stockage local HTML5
Par exemple :

Valider l’ID token

Une fois qu’Auth0 renvoie un ID Token, ce token doit être validé et décodé comme d’habitude. Le claim nonce doit contenir exactement la même valeur que celle envoyée dans la requête. Sinon, l’application doit rejeter l’authentification.

Pour en savoir plus