Développement OAuth

générateur PKCECréer une paire, vérifier un défi

Calculez S256 à partir du vérificateur exact, puis comparez le défi si nécessaire.

générateur PKCE

Vérificateur de code

43 à 128 caractères ASCII : A–Z, a–z, 0–9, -, ., _, ~. Les espaces et sauts de ligne ne sont pas supprimés.

Défi attendu (facultatif)

Laissez le champ entièrement vide pour ne pas comparer. Sinon, entrez exactement 43 caractères Base64URL canoniques, sans =.

Résultat S256

Une syntaxe valide ne prouve pas qu’un vérificateur saisi soit aléatoire ou imprévisible.

Les valeurs sont traitées dans cette page ; l’outil ne les transmet ni ne les enregistre.

Options

Ce choix concerne uniquement la prochaine génération manuelle. Les octets deviennent du Base64URL sans remplissage. SHA-256 produit toujours 256 bits.

Collez un vérificateur ou prévisualisez une nouvelle valeur.

Un échange de code qui échoue peut venir d’un encodage incorrect ou d’un vérificateur remplacé trop tôt. Le générateur PKCE accepte votre code verifier existant pour retrouver le défi PKCE associé, sans créer automatiquement une autre paire.

Pour une nouvelle tentative, générez explicitement un vérificateur aléatoire. Le défi part dans la demande d’autorisation ; le vérificateur original sert lors de l’échange contre un jeton. Leur concordance locale ne valide pas la configuration du fournisseur.

Pourquoi utiliser ce générateur PKCE ?

Repartir de la valeur réellement utilisée

Créer une nouvelle paire ne permet pas de vérifier l’ancienne. Le générateur PKCE calcule le défi du vérificateur collé pour le confronter à celui envoyé dans votre demande d’autorisation.

Des octets aléatoires forment un vérificateur, puis un hachage produit un défi de longueur fixe.

Identifier la nature de l’échec

Un espace ou un dernier caractère non canonique est une erreur de format. Un défi correctement formé mais différent est une discordance. Le résultat distingue ces situations pour orienter le diagnostic.

Un même vérificateur est comparé à deux défis, avec une correspondance et une discordance.

Examiner une seule tentative à la fois

01

Choisir la provenance du vérificateur

La page s’ouvre vide. Collez la valeur originale ou demandez une génération. Les 32 octets par défaut donnent 43 caractères ; changer cette taille ne remplace pas l’entrée actuelle.

  • Gardez le vérificateur original pendant toute la transaction en cours.
02

Comparer le défi envoyé

Sans défi attendu, seul le calcul est effectué. Le mode automatique attend 350 ms après une modification. Désactivez-le pour utiliser Calculer ou Ctrl/Cmd+Enter.

  • Un champ composé d’espaces n’est pas un champ vide.
03

Appliquer puis exporter

Générer, Exemple et Effacer passent par un aperçu. Appliquer remplace les valeurs ; le rétablissement restaure les entrées et résultats précédents. Vérifiez la concordance avant la copie ou le téléchargement JSON.

  • L’export est désactivé si le résultat est périmé ou si un aperçu est ouvert.

Des valeurs dont on peut vérifier le calcul

Génération aléatoire explicite

Choisissez 32, 48, 64 ou 96 octets pour obtenir 43, 64, 86 ou 128 caractères. La génération utilise la source aléatoire cryptographique du navigateur.

Dérivation S256

Les octets ASCII du vérificateur sont hachés avec SHA-256. Les 32 octets obtenus sont encodés en Base64URL sans remplissage, soit un défi de 43 caractères.

Comparaison facultative

Le rapport indique une concordance, une discordance ou l’absence de comparaison. Une modification de l’entrée rend immédiatement l’ancien résultat périmé.

Rapport JSON complet

Exportez les valeurs, la méthode, la longueur, le contrôle syntaxique, le défi attendu, la comparaison et les informations sur la source aléatoire. Les deux valeurs sont aussi copiables séparément.

Ce que la vérification permet de conclure

ASCII exact
Le vérificateur accepte 43 à 128 caractères ASCII non réservés. Les guillemets, espaces, sauts de ligne, caractères Unicode et signes = ne sont ni corrigés ni supprimés.
Défi canonique
Le défi attendu doit avoir exactement 43 caractères Base64URL. Ses deux derniers bits de remplissage doivent être nuls. Une autre écriture des mêmes octets est rejetée.
S256 uniquement
Pas de méthode plain, de récupération du vérificateur depuis un hachage, de connexion ou d’échange de jetons. L’outil ne contacte aucun serveur d’autorisation.
Entropie et longueur sont distinctes
La génération utilise 256, 384, 512 ou 768 bits aléatoires. Ces nombres ne mesurent pas la force de PKCE : SHA-256 conserve une sortie de 256 bits. La syntaxe ne mesure pas l’entropie d’un texte saisi.
Exemple public réservé aux tests
L’exemple RFC est connu de tous. Une nouvelle tentative d’autorisation nécessite un nouveau vérificateur imprévisible. Une paire concordante ne prouve pas que votre fournisseur acceptera la demande.

Questions sur le générateur PKCE

Comment encoder une valeur PKCE avec PowerShell ?

Utilisez les octets ASCII du vérificateur, calculez SHA-256, puis encodez le résultat binaire en Base64URL sans =. N’encodez pas le texte hexadécimal du hachage. Ce générateur PKCE permet de comparer le résultat, mais n’exécute pas de script PowerShell.

Pourquoi le vérificateur transformé ne correspond-il pas au défi ?

Les valeurs peuvent provenir de tentatives différentes, ou l’encodage peut être incorrect. Vérifiez le vérificateur original, l’absence de caractères ajoutés et l’encodage du hachage binaire, plutôt que de sa représentation hexadécimale.

Pourquoi utiliser PKCE dans une demande d’autorisation ?

PKCE lie la demande initiale à l’échange du code : le client doit présenter le vérificateur associé au défi. Cela limite l’utilisation d’un code intercepté sans ce vérificateur. Le mécanisme ne remplace pas tous les autres contrôles OAuth.

Pourquoi mon code_verifier est-il déclaré invalide ?

Il doit contenir entre 43 et 128 caractères de l’alphabet ASCII autorisé. Les espaces et les caractères +, / ou = d’un Base64 classique sont refusés. Le message indique la position à vérifier.

Puis-je conserver une paire pour toutes mes connexions ?

Non. Générez un nouveau vérificateur imprévisible pour chaque nouvelle tentative. En revanche, conservez la même valeur au cours d’une transaction : la remplacer avant l’échange du code provoque une discordance.

Un résultat ou une erreur semble incorrect ?

Vérifier une paire existante

Utilisez le générateur PKCE avec le vérificateur d’origine, examinez le résultat puis exportez le rapport actuel.