Aller au contenu
Tout en local

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

Générez un code_verifier cryptographiquement aléatoire et son code_challenge correspondant pour OAuth 2.0 PKCE.

43
Sortie

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

Cet outil génère un code_verifier PKCE et son code_challenge correspondant pour le flux Code d'Autorisation d'OAuth 2.0, en suivant RFC 7636. Il est conçu pour les développeurs qui configurent des applications monopage, des applications mobiles ou tout client public qui ne peut pas stocker en toute sécurité un secret client et a besoin de Proof Key for Code Exchange pour protéger le code d'autorisation de l'interception.

Le code_verifier est une chaîne aléatoire cryptographiquement sécurisée construite uniquement à partir de caractères non réservés de RFC 3986 (A–Z, a–z, 0–9, "-", ".", "_", "~"), d'une longueur comprise entre 43 et 128 caractères — choisissez la longueur exacte avec le curseur. La méthode de défi contrôle la façon dont code_challenge est dérivé : S256 hache le vérificateur avec SHA-256 et encode en base64url le résumé, et c'est ce que tous les guides OAuth actuels et les serveurs d'autorisation attendent. La méthode plain copie simplement le vérificateur dans le défi sans modification ; elle existe dans la spécification pour les clients avec des ressources limitées qui ne peuvent pas calculer SHA-256, offre aucune protection contre l'interception, et cet outil le marque en conséquence.

La sortie inclut le code_verifier et code_challenge bruts, la méthode que vous avez choisie, et une chaîne de requête prête à l'emploi — code_challenge=...&code_challenge_method=... — que vous pouvez insérer directement dans une URL de demande d'autorisation. Mémorisez le vérificateur séparément : il appartient à la demande de token ultérieure, pas à celle d'autorisation, et une nouvelle paire doit être générée pour chaque tentative de connexion plutôt que d'être réutilisée.

Tout le processus se déroule localement dans votre navigateur, en utilisant l'API Web Crypto pour une source aléatoire cryptographiquement sécurisée et une implémentation SHA-256 — rien n'est téléchargé ni enregistré nulle part. Cliquez sur "Générer une nouvelle paire" pour un nouveau vérificateur et défi, copiez le résultat, ou téléchargez-le en tant que fichier .txt.

FAQ

Qu'est-ce que PKCE et pourquoi en ai-je besoin ?
PKCE (Proof Key for Code Exchange, RFC 7636) protège le flux Code d'Autorisation d'OAuth 2.0 pour les clients qui ne peuvent pas conserver un secret, comme les applications monopage et les applications mobiles. Il lie la demande d'autorisation à la demande de token avec un secret aléatoire afin qu'un code d'autorisation volé ne puisse pas être échangé par quelqu'un d'autre.
Dois-je choisir S256 ou plain ?
Utilisez S256 sauf si votre client ne peut vraiment pas calculer SHA-256. Avec plain, code_challenge est identique à code_verifier, donc un attaquant qui intercepte la demande d'autorisation a déjà tout ce dont il a besoin pour échanger le code — S256 est ce que les serveurs d'autorisation modernes attendent et souvent la seule méthode qu'ils acceptent.
Puis-je réutiliser le même vérificateur et défi pour plusieurs connexions ?
Non. Générez une nouvelle paire pour chaque tentative d'autorisation. Le vérificateur est destiné à être un secret unique lié à un seul flux, pas une valeur fixe que votre application encode en dur.
Où vont respectivement code_verifier et code_challenge ?
code_challenge et code_challenge_method vont dans l'URL de demande d'autorisation initiale. code_verifier est envoyé plus tard, dans la demande de token qui échange le code d'autorisation contre des tokens — conservez-le en mémoire ou en stockage de session client jusque-là.
Le vérificateur généré est-il téléchargé quelque part ?
Non. La génération s'exécute entièrement dans votre navigateur en utilisant l'API Web Crypto. Rien n'est envoyé à un serveur, enregistré ou stocké au-delà de votre propre session.