Générateur de code PKCE Verifier et de défi
Guide
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
- 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.
- Sélectionnez le Méthode de défi. Laissez-le allumé
S256sauf si votre fournisseur l'exige explicitementplain. - 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.
- 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.
- Copiez le
code_challenge+code_challenge_methoddans votre/authorizeredirige, stockez lecode_verifierdanssessionStorage, et le relancez sur/tokenpour 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_methodvaleurs définies dans l'RFC 7636 sont prises en charge, avecS256sé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
-
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 uncode_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. -
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.
-
Quelle est la différence entre les méthodes de défi S256 et plain ?
Avec
S256le défi est le hachage SHA-256 encodé en base64url du vérificateur ; avecplainle défi est le vérificateur lui-même. La méthodeplainne 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 uniquementplainpour 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 rejettentplainde manière explicite, donc utilisez toujoursS256sauf si vous déboguez un client embarqué avec contraintes. -
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.
Installez nos extensions
Ajoutez des outils IO à votre navigateur préféré pour un accès instantané et une recherche plus rapide
恵 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 !
Outils essentiels
Tout voir Nouveautés
Tout voirMise à jour: Notre dernier outil was added on Mai 30, 2026
