Preskoči na sadržaj
100% lokalno

Generator za PKCE verifikator i izazov

Generiraj kriptografski slučajan code_verifier i njegov code_challenge za OAuth 2.0 PKCE.

43
Rezultat

Generator za PKCE verifikator i izazov

Ovaj alat generiraj PKCE code_verifier i njegov odgovarajući code_challenge za OAuth 2.0 Authorization Code tok, slijedeći RFC 7636. Izgrađen je za razvojne inženjere koji postavljaju single-page aplikacije, mobilne aplikacije ili bilo koji javni klijent koji ne može sigurno čuvati tajnu klijenta i trebaju Proof Key for Code Exchange za zaštitu koda autorizacije od presretanja.

code_verifier je kriptografski slučajna niska izgrađena samo od RFC 3986 nerezervnih znakova (A–Z, a–z, 0–9, "-", ".", "_", "~"), dužine između 43 i 128 znakova — odaberite točnu duljinu sa klizačem. Metoda izazova kontrolira kako se code_challenge izvodi: S256 heširira verifikator sa SHA-256 i base64url kodira sažetak, i to je ono što očekuju svi trenutni OAuth vodiči i autorizacijski poslužitelji. Metoda plain samo kopira verifikator u izazov nepromijenjen; postoji u specifikaciji za ograničene klijente koji ne mogu izračunati SHA-256, ne nudi zaštitu protiv presretanja, i ovaj alat to primjenjuje.

Izlaz uključuje neobrađeni code_verifier i code_challenge, metodu koju ste odabrali, i spreman query string — code_challenge=...&code_challenge_method=... — koji možete direktno uključiti u URL zahtjeva autorizacije. Zapamtite verifikator zasebno: pripada kasnijem zahtjevu tokena, a ne zahtjevu autorizacije, i svaki pokušaj prijave trebao bi generirati novi par umjesto ponovno korištenja istoga.

Sva generiranja se zbivaju lokalno u vašem pregledniku, koristeći Web Crypto API-jev kriptografski siguran izvor slučajnosti i SHA-256 implementaciju — ništa se ne učitava niti bilježi nigdje. Kliknite "Generiraj novi par" za novi verifikator i izazov, kopirajte izlaz ili ga preuzmite kao .txt datoteku.

FAQ

Što je PKCE i zašto ga trebam?
PKCE (Proof Key for Code Exchange, RFC 7636) štiti OAuth 2.0 Authorization Code tok za klijente koji ne mogu čuvati tajnu, kao single-page aplikacije i mobilne aplikacije. Vezuje zahtjev autorizacije na zahtjev tokena sa slučajnom tajnom tako da ukradeni kod autorizacije ne može biti otkupljen od strane nekoga drugoga.
Trebam li odabrati S256 ili plain?
Koristite S256 osim ako vaš klijent doista ne može izračunati SHA-256. Sa plain, code_challenge je identičan code_verifikatoru, tako da napadač koji presretne zahtjev autorizacije već ima sve što je potrebno za zamjenu koda — S256 je ono što moderni autorizacijski poslužitelji očekuju i često je jedina metoda koju prihvaćaju.
Mogu li ponovno koristiti isti verifikator i izazov za više prijava?
Ne. Generirajte novi par za svaki pokušaj autorizacije. Verifikator je namenjen biti jednokratna tajna vezana uz jedan tok, a ne fiksna vrijednost koju vaša aplikacija hardkodira.
Gdje idu code_verifier i code_challenge zasebno?
code_challenge i code_challenge_method idu u početnom URL zahtjeva autorizacije. code_verifier se šalje kasnije, u zahtjevu tokena koji zamjenjuje kod autorizacije za tokene — čuvajte ga u memoriji ili sjedniskom spremištu na klijentu sve do tada.
Je li generirani verifikator učitavan ikudje?
Ne. Generiranje se izvršava u potpunosti u vašem pregledniku koristeći Web Crypto API. Ništa se ne šalje na poslužitelj, ne bilježi se, niti se sprema van vašeg vlastitog sjednika.