Preskoči na vsebino
100% lokalno

Generator za PKCE verifikator in izziv

Generiraj kriptografsko naključen code_verifier in njegov code_challenge za OAuth 2.0 PKCE.

43
Izhod

Generator za PKCE verifikator in izziv

To orodje generiraj PKCE code_verifier in njegov ustrezni code_challenge za OAuth 2.0 Authorization Code tok, v skladu z RFC 7636. Zgrajeno je za razvojne inženirje, ki nastavljajo single-page aplikacije, mobilne aplikacije ali katerikoli javni odjemalec, ki ne more varno čuvati skrivne kode odjemalca in potrebuje Proof Key for Code Exchange za zaščito avtorizacijske kode pred prestrezanjem.

code_verifier je kriptografsko naključna niz, zgrajena samo iz RFC 3986 nerezervnih znakov (A–Z, a–z, 0–9, "-", ".", "_", "~"), dolžine med 43 in 128 znaki — izberite natančno dolžino z drsnikm. Metoda izziva nadzira, kako se code_challenge izpelje: S256 zgostitvira verifikator s SHA-256 in base64url kodira povzetek, in to je pričakuje vsak trenutni OAuth vodnik in avtorizacijski strežnik. Metoda plain samo presili verifikator v izziv nespremenjen; obstaja v specifikaciji za omejene odjemalce, ki ne morejo izračunati SHA-256, ne nudi zaščite pred prestrezanjem, in to orodje to primerno označuje.

Izhodna vključuje surovi code_verifier in code_challenge, metodo, ki ste jo izbrali, in pripravljen query string — code_challenge=...&code_challenge_method=... — ki ga lahko neposredno vključite v URL zahtevka za avtorizacijo. Zapomnite si verifikator ločeno: spada v poznejši zahtevek žetona, ne zahtevka za avtorizacijo, in vsak poskus prijave bi moral generirati nov par namesto ponovne uporabe iste.

Vsa generiranja potekajo lokalno v vašem brskalniku, pri čemer se uporabljajo Web Crypto API-jevo kriptografsko varno viro naključnosti in implementacija SHA-256 — nič se ne naloži niti zabeleži nikjer. Kliknite "Generiraj nov par" za nov verifikator in izziv, kopirajte izhod ali ga preuzmete kot datoteko .txt.

FAQ

Kaj je PKCE in zakaj ga potrebujem?
PKCE (Proof Key for Code Exchange, RFC 7636) varuje OAuth 2.0 Authorization Code tok za odjemalce, ki ne morejo čuvati skrivne kode, kot so single-page aplikacije in mobilne aplikacije. Vezuje zahtevek za avtorizacijo na zahtevek žetona z naključno tajno, zato ukradena avtorizacijska koda ne more biti unovčena od nikogar drugega.
Ali bi moral izbrati S256 ali plain?
Uporabite S256, razen če vaš odjemalec doista ne more izračunati SHA-256. Z plain, code_challenge je enak code_verifikatorju, zato napadalec, ki presretne zahtevek za avtorizacijo, že ima vse, kar je potrebno za zameno kode — S256 je tisto, kar pričakujejo moderni avtorizacijski strežniki in pogosto edino metodo, ki jo sprejmejo.
Ali lahko ponovno uporabim isti verifikator in izziv za več prijav?
Ne. Generirajte nov par za vsak poskus avtorizacije. Verifikator je namenjen biti enkratna tajna, vezana na en tok, ne pa fiksna vrednost, ki jo vaša aplikacija trdno kodira.
Kam gresta code_verifier in code_challenge ločeno?
code_challenge in code_challenge_method gresta v začetnem URL zahtevka za avtorizacijo. code_verifier se pošlje pozneje, v zahtevku žetona, ki zamenja avtorizacijsko kodo za žetone — čuvajte jo v pomnilniku ali sprožilniški shrambi na odjemalcu do takrat.
Ali se generirani verifikator naloži kjerkoli?
Ne. Generiranje poteka v celoti v vašem brskalniku z uporabo Web Crypto API-ja. Nič se ne pošlje strežniku, ne zabeleži ali shrani izven vaše lastne seje.