Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 1|Odpoveď: 0

Pochopenie code_challenge a code_vertifier PKCE v OIDC

[Kopírovať odkaz]
ZverejnenéPred 19 sekundami | | | |
OAuth 2.0 ponúka viacero režimov autorizácie, medzi ktorými je Authorization Code Grant najčastejšie používaný a najbezpečnejší. code_challenge je bezpečnostne vylepšená funkcia v tomto režime, hlavne používaná pre mechanizmus PKCE (Proof Key for Code Exchange).

Čo je PKCE?

PKCE (Proof Key for Code Exchange) je rozšírenie navrhnuté na zvýšenie bezpečnosti vzoru autorizačného kódu OAuth 2.0, najmä pri použití vo verejných klientoch, ako sú JavaScriptové aplikácie alebo mobilné aplikácie bežiace v prehliadačoch. PKCE zabraňuje zachyteniu a zneužitiu autorizačných kódov pridaním ďalšieho autentifikačného kroku k autorizačným požiadavkám.

code_challenge Úloha

code_challenge je súčasťou mechanizmu PKCE, generovaný a odosielaný počas fázy požiadavky na autorizáciu. Je založený na tajnej hodnote (nazývanej code_verifier), transformovanej hashovacím algoritmom, ako je S256. Účelom code_challenge je poskytnúť validačný základ pre nasledujúce požiadavky na token bez priameho vystavenia code_verifier.

Generovanie a využívanie code_challenge a code_verifier

Generácia code_verifier:
code_verifier je reťazec s vysokou entropiou, náhodne generovaný,Dĺžka znaku (medzi 43 a 128). Predvolená hodnota je 43。

Generácia code_challenge:
Použitím code_verifier sa code_challenge generuje pomocou hashovacieho algoritmu (napríklad S256). Pre S256 je code_challenge kódovanie URL Base64 hodnoty code_verifier SHA-256, ale = vyplňovací znak z kódovania musí byť odstránený a výstupná dĺžka musí byť 43 znakov (keďže po Base64 URL kódovaní každé 4 znaky predstavujú 3 bajty, ale posledný blok znakov môže byť menší ako 4 znaky, takže dĺžka sa môže mierne líšiť po odstránení = znakov).

Použite code_challenge pri žiadostiach o autorizáciu:
Pri iniciovaní požiadavky na autorizáciu sa code_challenge odosiela ako jeden z parametrov požiadavky na autorizačný server.

Použitie code_verifier pri požiadavkách na tokeny:
Keď autorizačný server vráti autorizačný kód, klient použije tento kód spolu s predtým vygenerovaným code_verifier na požiadanie o prístup k tokenovému koncovému bodu. Autorizačný server overuje, či code_challenge a code_verifier súhlasia, čím zabezpečuje, že požiadavka je iniciovaná pôvodným klientom.

Generovanie PKCE

Online nástroje na generovanie PKCE:Prihlásenie na hypertextový odkaz je viditeľné.

C# kód sa generuje nasledovne:
Ako je uvedené nižšie:



Referencia:

Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.




Predchádzajúci:.NET/C# Dve metódy na overenie platnosti JWT tokenového podpisu
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com