Toute recherche d'une bibliothèque pour l'UUID v4 se termine ici : le moteur d'exécution fournit la fonction depuis des années et constitue la base honnête pour les identifiants générés dans le navigateur.

const id = crypto.randomUUID();
// 3b241101-e2bb-4255-8caf-4136c566a962
  • L'appel nécessite un contexte sécurisé, https ou localhost ; une page non sécurisée obtient une TypeError, qui transforme une utilisation abusive silencieuse en une erreur de développement bruyante.
  • v4 signifie des bits aléatoires, pas un compteur : très bien pour les identifiants de requête, les brouillons de lignes et la déduplication côté client, mauvais pour tout ce qui doit être trié par ordre de création.
  • Il s'agit d'une garantie d'unicité et non d'une garantie de secret ; les secrets et les jetons proviennent de différentes parties de l’objet cryptographique, et les deux rôles vivent dans des pièces séparées.

Où ça correspond

Les interfaces optimistes sont la maison classique : créez l'enregistrement côté client avec un véritable identifiant, affichez-le immédiatement et réconciliez-le lorsque le serveur répond. L'identifiant ne survit à une actualisation que si vous le conservez, ce qui est la seule mise en garde dont l'astuce a besoin.

La façon dont les outils sont très cool lorsqu'ils suppriment du travail : l'entrée de dépendance, la ligne de bundle et l'importation disparaissent toutes en même temps. Conservez un slug lisible par l'homme pour tout ce qu'une personne lit et laissez l'UUID rester opaque.