Ugrás a tartalomhoz
100% helyi

PKCE hitelesítő és kihívás generátor

Kriptográfiailag biztonságos code_verifier és annak code_challenge létrehozása az OAuth 2.0 PKCE protokollhoz.

43
Kimenet

PKCE hitelesítő és kihívás generátor

Ez az eszköz egy PKCE code_verifier-t és annak code_challenge-ét hozza létre az OAuth 2.0 Authorization Code flow számára, az RFC 7636 szerint. Fejlesztőknek készült, akik egyoldalas alkalmazásokat, mobilalkalmazásokat vagy bármilyen nyilvános klienst csatlakoztatnak, amely nem tudja biztonságosan tárolni a klienstitkot, és a Proof Key for Code Exchange-re szüksége van az engedélyezési kód elfogása elleni védelemhez.

A code_verifier egy kriptográfiailag véletlenszerű karakterlánc, amely csak az RFC 3986 fenntartott karakterekből (A–Z, a–z, 0–9, "-", ".", "_", "~") épül fel, 43 és 128 karakter közötti hosszúsággal — válassza ki a pontos hosszúságot a csúszka segítségével. A kihívás módszere határozza meg, hogy a code_challenge hogyan származik: az S256 SHA-256-tal hasítja a hitelesítőt, és base64url-kódolja az összeget, és ez az, amit minden jelenlegi OAuth útmutató és engedélyezési szerver elvár. Az plain módszer csak átmásolja a hitelesítőt a kihívásba változatlanul; a specifikációban létezik a korlátozott kliensek számára, amelyek nem tudnak SHA-256-ot számítani, nem nyújtanak védelmet az elfogás ellen, és ez az eszköz ennek megfelelően jelzi.

A kimenet tartalmazza a nyers code_verifier-t és code_challenge-ét, az Ön által választott módszert, valamint egy kész lekérdezési karakterláncot — code_challenge=...&code_challenge_method=... — amely közvetlenül behelyezhető egy engedélyezési kérelem URL-jébe. Az hitelesítőt külön jegyezze meg: az később a tokenek kérésére tartozik, nem az engedélyezési kérésre, és minden bejelentkezési kísérlethez friss páros kell létrehozni ahelyett, hogy újrafelhasználná.

Az összes generálás helyileg történik a böngészőben, a Web Crypto API kriptográfiailag biztonságos véletlenszám-forrásának és SHA-256 implementációjának felhasználásával — semmi nem töltődik fel vagy naplózódik sehol. Kattintson az "Új páros létrehozása" gombra egy friss hitelesítőhöz és kihíváshoz, másolja ki a kimenetet, vagy töltse le .txt fájlként.

Gyakori kérdések

Mi az a PKCE és miért van szükségem rá?
A PKCE (Proof Key for Code Exchange, RFC 7636) az OAuth 2.0 Authorization Code flow-t védi az olyan kliensek számára, amelyek nem tudják megtartani a titkot, például egyoldalas alkalmazások és mobilalkalmazások. Az engedélyezési kéréshez és a tokenek kéréshez egy véletlen titok segítségével köti össze a flow-t, így egy ellopott engedélyezési kód nem váltható ki valaki mássá.
S256 vagy plain közül válasszak?
Használja az S256-ot, ha az Ön kliensze nem tudja valóban kiszámítani az SHA-256-ot. Plain módban a code_challenge megegyezik a code_verifier-rel, így egy támadó, aki elfogja az engedélyezési kéréseket, már rendelkezik mindennel, ami szükséges a kód beváltásához — az S256 az, amit a modern engedélyezési szerverek várnak, és gyakran az egyetlen módszer, amelyet elfogadnak.
Felhasználhatom ugyanazt a hitelesítőt és kihívást több bejelentkezéshez?
Nem. Hozzon létre egy új párost minden engedélyezési kísérlethez. A hitelesítő egy egyszeri titok, amely egyetlen flow-hoz van kötve, nem olyan rögzített érték, amelyet az alkalmazás keményen kódol.
Hova kerül a code_verifier és code_challenge?
A code_challenge és code_challenge_method az eredeti engedélyezési kérelem URL-jébe kerül. A code_verifier később, az engedélyezési kódot tokenekre cserélő tokenek kérésében — az ügyféloldalon memóriában vagy munkamenet-tárolóban tartsa, amíg szükséges.
A generált hitelesítő valahova fel van töltve?
Nem. A generálás teljes egészében a böngészőben történik a Web Crypto API-val. Semmi nem kerül szerverre, naplózódik, vagy tárolódik az Ön saját munkamenete után.