Ga naar inhoud
100% lokaal

PKCE-verifier- en challenge-generator

Genereert een cryptografisch willekeurige code_verifier en zijn code_challenge voor OAuth 2.0 PKCE.

43
Uitvoer

PKCE-verifier- en challenge-generator

Dit hulpprogramma genereert een PKCE code_verifier en de bijbehorende code_challenge voor de OAuth 2.0 Authorization Code Flow, volgens RFC 7636. Het is gebouwd voor ontwikkelaars die single-page apps, mobiele apps of andere openbare clients instellen die geen client secret veilig kunnen bewaren en Proof Key for Code Exchange nodig hebben om de autorisatiecode tegen onderschepping te beschermen.

De code_verifier is een cryptografisch willekeurige tekenreeks die alleen uit RFC 3986 niet-gereserveerde tekens (A–Z, a–z, 0–9, "-", ".", "_", "~") bestaat, tussen 43 en 128 tekens lang — kies de exacte lengte met de schuifregelaar. De challenge-methode bepaalt hoe code_challenge wordt afgeleid: S256 hasht de verifier met SHA-256 en base64url-codeert de digest, wat elke huidige OAuth-gids en autorisatieserver verwacht. De plain-methode kopieert de verifier ongewijzigd naar de challenge; deze bestaat in de spec voor beperkte clients die SHA-256 niet kunnen berekenen, biedt geen bescherming tegen onderschepping, en dit hulpprogramma markeert dit dienovereenkomstig.

De uitvoer bevat de onbewerkte code_verifier en code_challenge, de methode die u hebt gekozen, en een klaar-voor-gebruik querystring — code_challenge=...&code_challenge_method=... — die u rechtstreeks in een autorisatie-request-URL kunt invoegen. Onthoud de verifier apart: deze hoort in het latere token-verzoek, niet in het autorisatieverzoek, en voor elke inlogpoging moet een nieuw paar worden gegenereerd in plaats van het opnieuw te gebruiken.

Alle generatie gebeurt lokaal in uw browser met behulp van de Web Crypto API's cryptografisch veilige willekeurige bron en SHA-256-implementatie — niets wordt geüpload of ergens geregistreerd. Klik op "Nieuw paar genereren" voor een verser verifier en challenge, kopieer de uitvoer of download deze als .txt-bestand.

FAQ

Wat is PKCE en waarom heb ik het nodig?
PKCE (Proof Key for Code Exchange, RFC 7636) beschermt de OAuth 2.0 Authorization Code Flow voor clients die geen geheim kunnen bewaren, zoals single-page apps en mobiele apps. Het bindt het autorisatieverzoek aan het token-verzoek met een willekeurig geheim, dus een gestolen autorisatiecode kan niet door iemand anders worden ingewisseld.
Moet ik S256 of plain kiezen?
Gebruik S256 tenzij uw client echt geen SHA-256 kan berekenen. Met plain is code_challenge gelijk aan code_verifier, dus een aanvaller die het autorisatieverzoek onderschept heeft al alles wat nodig is om de code uit te wisselen — S256 is wat moderne autorisatieservers verwachten en vaak de enige methode die zij accepteren.
Kan ik dezelfde verifier en challenge voor meerdere aanmeldingen opnieuw gebruiken?
Nee. Genereer een nieuw paar voor elke autorisatiepoging. De verifier is bedoeld als een eenmalig geheim dat aan een enkele flow is gekoppeld, niet een vaste waarde die uw app hardcoded.
Waar gaan code_verifier en code_challenge elk heen?
code_challenge en code_challenge_method gaan in de initiële autorisatie-request-URL. code_verifier wordt later verzonden in het token-verzoek dat de autorisatiecode voor tokens uitwisselt — bewaar deze in geheugen of sessiopslag op de client tot dat moment.
Wordt de gegenereerde verifier ergens geüpload?
Nee. Generatie vindt volledig plaats in uw browser met behulp van de Web Crypto API. Niets wordt naar een server verzonden, geregistreerd of opgeslagen buiten uw eigen sessie.