Hoppa till innehåll
100% lokalt

PKCE-verifierare och utmaningsgenerator

Genererar en kryptografiskt slumpmässig code_verifier och dess code_challenge för OAuth 2.0 PKCE.

43
Utmatning

PKCE-verifierare och utmaningsgenerator

Det här verktyget genererar en PKCE code_verifier och dess motsvarande code_challenge för OAuth 2.0 Authorization Code Flow enligt RFC 7636. Det är byggt för utvecklare som trådar in single-page-appar, mobilappar eller andra offentliga klienter som inte kan lagra en klienthemlighet på ett säkert sätt och behöver Proof Key for Code Exchange för att skydda auktoriseringskoden från avlyssning.

code_verifier är en kryptografiskt slumpmässig sträng som endast består av RFC 3986 ej reserverade tecken (A–Z, a–z, 0–9, "-", ".", "_", "~"), mellan 43 och 128 tecken lång — välj exakt längd med skjutreglaget. Utmaningsmetoden styr hur code_challenge härleds: S256 hashar verifieraren med SHA-256 och base64url-kodar sammanfattningen, vilket är vad alla moderna OAuth-guider och auktoriseringsservrar förväntar sig. plain-metoden kopierar bara verifieraren oförändrad till utmaningen; den existerar i specifikationen för begränsade klienter som inte kan beräkna SHA-256, ger inget skydd mot avlyssning, och det här verktyget markerar detta därefter.

Utgången innehåller den raw code_verifier och code_challenge, metoden du valde och en färdig-att-använda query string — code_challenge=...&code_challenge_method=... — som du kan släppa direkt in i en auktoriseringsbegärans URL. Kom ihåg verifieraren separat: den tillhör senare token-begäran, inte auktoriseringsbegäran, och ett nytt par bör genereras för varje inloggningsförsök istället för att återanvändas.

All generering sker lokalt i din webbläsare med hjälp av Web Crypto APIns kryptografiskt säkra slumpmässiga källa och SHA-256-implementering — ingenting laddas upp eller loggas var som helst. Klicka på "Generera nytt par" för en ny verifierare och utmaning, kopiera utgången eller ladda ned den som en .txt-fil.

FAQ

Vad är PKCE och varför behöver jag det?
PKCE (Proof Key for Code Exchange, RFC 7636) skyddar OAuth 2.0 Authorization Code Flow för klienter som inte kan hålla en hemlighet, som single-page-appar och mobilappar. Det binder auktoriseringsbegäran till token-begäran med en slumpmässig hemlighet så att en stulen auktoriseringskod inte kan lösas in av någon annan.
Bör jag välja S256 eller plain?
Använd S256 om inte din klient verkligen inte kan beräkna SHA-256. Med plain är code_challenge identisk med code_verifier, så en angripare som fångar auktoriseringsbegäran har redan allt som behövs för att byta koden — S256 är vad moderna auktoriseringsservrar förväntar sig och ofta den enda metoden de accepterar.
Kan jag återanvända samma verifierare och utmaning för flera inloggningar?
Nej. Generera ett nytt par för varje auktoriseringsförsök. Verifieraren är avsedd att vara en engångshemlighet kopplad till ett enskilt flöde, inte ett fast värde som din app hardkodar.
Vart går code_verifier och code_challenge var för sig?
code_challenge och code_challenge_method går in i den initiala auktoriseringsbegärans URL. code_verifier skickas senare i token-begäran som byter auktoriseringskoden mot tokens — behåll den i minnet eller sessionslagring på klienten tills dess.
Laddas den genererade verifieraren upp någonstans?
Nej. Generering sker helt i din webbläsare med hjälp av Web Crypto API. Ingenting skickas till en server, loggas eller lagras bortom din egen session.