Sări la conținut
Complet local

Generator de verificator și provocare PKCE

Generează un code_verifier criptografic aleatoriu și code_challenge-ul său pentru OAuth 2.0 PKCE.

43
Ieșire

Generator de verificator și provocare PKCE

Acest instrument generează un code_verifier PKCE și code_challenge-ul corespunzător pentru fluxul de cod de autorizare OAuth 2.0, urmând RFC 7636. A fost construit pentru dezvoltatori care configurează aplicații de o singură pagină, aplicații mobile sau orice client public care nu poate ține în siguranță o cheie secretă și are nevoie de Cheie de Dovadă pentru Schimbul de Cod pentru a proteja codul de autorizare de interceptare.

Code_verifier este un șir criptografic aleatoriu construit doar din caractere nereservate RFC 3986 (A–Z, a–z, 0–9, "-", ".", "_", "~"), între 43 și 128 caractere lungime — alegeți lungimea exactă cu cursorul. Metoda provocării controlează modul în care code_challenge este derivat: S256 hashing-uiește verificatorul cu SHA-256 și codifică base64url digestul, și este ceea ce fiecare ghid OAuth actual și server de autorizare așteaptă. Metoda plain pur și simplu copiază verificatorul în provocare neschimbat; există în specificație pentru clienți constrânși care nu pot calcula SHA-256, nu oferă protecție împotriva interceptării, și acest instrument îl marchează în consecință.

Aflarea include code_verifier și code_challenge brute, metoda aleasă și un șir de cerere gata — code_challenge=...&code_challenge_method=... — pe care îl puteți pune direct într-un URL de cerere de autorizare. Rețineți verificatorul separat: aparține în cererea de token ulterioară, nu în cea de autorizare, și o pereche nouă ar trebui să fie generată pentru fiecare încercare de conectare în loc să fie reutilizată.

Toată generarea se întâmplă local în browserul dvs., folosind sursa aleatorie criptografic securizată a API-ului Web Crypto și implementarea SHA-256 — nimic nu este trimis sau înregistrat nicăieri. Faceți clic pe "Generează pereche nouă" pentru un verificator și provocare noi, copiați ieșirea sau descărcați-o ca fișier .txt.

FAQ

Ce este PKCE și de ce am nevoie de el?
PKCE (Cheie de Dovadă pentru Schimbul de Cod, RFC 7636) protejează fluxul Codului de Autorizare OAuth 2.0 pentru clienți care nu pot ține o cheie secretă, cum ar fi aplicațiile de o singură pagină și aplicațiile mobile. Leagă cererea de autorizare de cererea de token cu o cheie secretă aleatorie, astfel încât un cod de autorizare furat să nu poată fi răscumpărat de altcineva.
Ar trebui să aleg S256 sau plain?
Utilizați S256 decât dacă clientul dvs. nu poate calcula SHA-256. Cu plain, code_challenge este egal cu code_verifier, deci un atacant care interceptează cererea de autorizare are deja tot ceea ce are nevoie pentru a schimba codul — S256 este ceea ce serverele de autorizare moderne se așteaptă și adesea singurul metod pe care îl acceptă.
Pot reutiliza același verificator și provocare pentru mai multe conectări?
Nu. Generați o pereche nouă pentru fiecare încercare de autorizare. Verificatorul este o cheie secretă unică legată de un singur flux, nu o valoare fixă pe care aplicația dvs. o hardcodează.
Unde merg code_verifier și code_challenge?
code_challenge și code_challenge_method merg în URL-ul cererii de autorizare inițiale. code_verifier este trimis mai târziu, în cererea de token care schimbă codul de autorizare pentru tokenuri — ținuți-l în memorie sau stocare de sesiune pe client până atunci.
Verificatorul generat este încărcat undeva?
Nu. Generarea se întâmplă în întregime în browserul dvs. folosind Web Crypto API. Nimic nu este trimis pe un server, înregistrat sau stocat dincolo de propria dvs. sesiune.