Les pubs vous déplaisent ? Aller Sans pub Auj.

Générateur de code PKCE Verifier et de défi

PromoteurSécurité
ANNONCE · Supprimer ?

Configuration PKCE

L'RFC 7636 exige 43 à 128 caractères. Des valeurs plus longues apportent plus d'entropie.
S256 est requis par OAuth 2.1 et est pris en charge par tous les fournisseurs modernes.
Les deux produisent des vérificateurs conformes à l'RFC 7636. Choisissez celui que votre bibliothèque client attend.
ANNONCE · Supprimer ?

Guide

Générateur de vérificateur et de défi PKCE

Générateur de code PKCE Verifier et de défi

Générez des valeurs PKCE conformes à l'RFC 7636 directement dans votre navigateur. Choisissez une longueur du vérificateur (43 à 128 caractères), et l'outil produit un générateur cryptographiquement aléatoire code_verifier avec la correspondante SHA-256 code_challenge sous forme de base64url, prête à être insérée dans toute requête d'authentification OAuth 2.0 ou 2.1. Utile pour les applications web, les applications mobiles, les interfaces de ligne de commande natives, et pour toute personne qui débogue un flux d'authentification avec code et PKCE auprès de fournisseurs comme Auth0, Okta, Microsoft Entra, Google, GitHub et Keycloak.

Comment utiliser

  1. Glisser le Longueur du vérificateur sldier — toute valeur entre 43 et 128 fonctionne ; plus la longueur est grande, plus l'entropie est élevée.
  2. Sélectionnez le Méthode de défi. Laissez-le allumé S256 sauf si votre fournisseur l'exige explicitement plain.
  3. Choisissez un Charset du vérificateur. Les deux options sont conformes à l'RFC ; l'alphabet base64url correspond à ce que la plupart des bibliothèques OAuth émettent.
  4. Cliquez Générer. Le vérificateur, le défi et la méthode apparaissent immédiatement, accompagnés d'un détaillage étape par étape de la transformation SHA-256 → base64url.
  5. Copiez le code_challenge + code_challenge_method dans votre /authorize redirige, stockez le code_verifier dans sessionStorage, et le relancez sur /token pour finaliser l'échange.

Caractéristiques

  • Aléatoire sécurisé – utilise crypto.getRandomValues() avec un rejet de valeurs pour éviter tout biais modulo sur l'alphabet de 66 caractères non réservés.
  • SHA-256 native — le défi est calculé via le navigateur SubtleCrypto.digest('SHA-256'), donc les valeurs correspondent à celles produites par votre serveur d'authentification.
  • Méthodes S256 et plain — les deux code_challenge_method valeurs définies dans l'RFC 7636 sont prises en charge, avec S256 sélectionnée par défaut selon OAuth 2.1.
  • Analyse étape par étape — consultez le vérificateur brut, le hachage hexadécimal de 32 octets SHA-256, et le défi final en base64url afin de vérifier chaque transformation.
  • Deux options de charset — choisissez l'ensemble complet de caractères non réservés de l'RFC 7636 (A–Z, a–z, 0–9, -, ., _, ~) ou l'alphabet plus restreint de base64url que la plupart des bibliothèques utilisent par défaut.
  • Sldier de longueur, de 43 à 128 — restez dans les spécifications sans devoir manipuler des nombres magiques.
  • Copie en un clic sur chaque champ de sortie afin de pouvoir le coller directement dans Postman, curl ou dans votre code client.
  • Traitement côté client à 100 % — rien n'est envoyé vers un serveur. Le vérificateur ne quitte jamais votre onglet de navigateur.

FAQ

  1. Qu'est-ce que PKCE et pourquoi OAuth en a besoin ?

    Proof Key for Code Exchange (PKCE, RFC 7636) est une extension OAuth 2.0 qui protège le flux de code d'authentification contre l'interception. Le client choisit un secret code_verifier, en dérive un code_challenge à partir de ce secret, et envoie uniquement le défi dans la requête d'authentification. Lorsque le client réclame plus tard le code d'authentification au point d'échange de jetons, il envoie le vérificateur original ; le serveur le hachera et le comparer à celui stocké. Même si un attaquant intercepte le code d'authentification, il ne peut pas l'échanger sans le vérificateur, qui ne quitte jamais le client légitime. OAuth 2.1 impose le PKCE à tous les clients, publics ou confidentiels.

  2. Quelle longueur doit avoir un code_verifier et pourquoi ?

    L'RFC 7636 exige que le vérificateur soit compris entre 43 et 128 caractères, tirés de l'ensemble non réservé. La limite inférieure existe car 43 caractères en base64url représentent 32 octets aléatoires (256 bits) — l'entropie minimale considérée comme sécurisée contre une attaque par force brute. Des vérificateurs plus longs apportent plus d'entropie, mais offrent aucun bénéfice réel au-delà de 256 bits. La plupart des implémentations de référence choisissent 43, 64 ou 128. Choisissez la longueur maximale si vous souhaitez une sécurité renforcée, mais soyez conscient que certains serveurs hérités rejettent tout ce qui dépasse 128 car ils interprètent strictement la spécification.

  3. Quelle est la différence entre les méthodes de défi S256 et plain ?

    Avec S256 le défi est le hachage SHA-256 encodé en base64url du vérificateur ; avec plain le défi est le vérificateur lui-même. La méthode plain ne procure pas de protection réelle si la requête d'authentification est interceptée — un attaquant qui voit le défi a déjà le vérificateur. L'RFC 7636 autorise uniquement plain pour des clients qui ne peuvent pas calculer SHA-256, et OAuth 2.1 l'interdit entièrement. Les fournisseurs d'identité comme Auth0, Okta, Google et Microsoft Entra rejettent plain de manière explicite, donc utilisez toujours S256 sauf si vous déboguez un client embarqué avec contraintes.

  4. Qu'est-ce que base64url et comment diffère-t-il de base64 ?

    Base64url est une variante sécurisée pour URL de base64 définie dans l'RFC 4648 §5. Elle remplace + avec - et / avec _ afin que la chaîne encodée soit utilisable dans un paramètre de requête, un segment JWT ou un composant de chemin sans nécessiter d'échappement supplémentaire. Le padding = est également supprimé car la longueur est implicite dans le contexte. Les spécifications PKCE, JWT, JWE, JWS et la plupart des crypto-web modernes utilisent base64url pour ces raisons exactes.

Envie d'une expérience sans pub ? Passez à la version sans pub

Installez nos extensions

Ajoutez des outils IO à votre navigateur préféré pour un accès instantané et une recherche plus rapide

Sur Extension Chrome Sur Extension de bord Sur Extension Firefox Sur Extension de l'opéra

Le Tableau de Bord Est Arrivé !

Tableau de Bord est une façon amusante de suivre vos jeux, toutes les données sont stockées dans votre navigateur. D'autres fonctionnalités arrivent bientôt !

ANNONCE · Supprimer ?
ANNONCE · Supprimer ?
ANNONCE · Supprimer ?

Coin des nouvelles avec points forts techniques

Impliquez-vous

Aidez-nous à continuer à fournir des outils gratuits et précieux

Offre-moi un café
ANNONCE · Supprimer ?