Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 1|Atsakyti: 0

PKCE code_challenge ir code_vertifier supratimas OIDC

[Kopijuoti nuorodą]
PaskelbtaPrieš 19 sekundžių | | | |
OAuth 2.0 siūlo kelis autorizacijos režimus, iš kurių dažniausiai naudojamas ir saugus yra Autorizacijos kodo suteikimas. code_challenge yra saugumo pagerinta funkcija šiame režime, daugiausia naudojama PKCE (Proof Key for Code Exchange) mechanizme.

Kas yra PKCE?

PKCE (Proof Key for Code Exchange) yra plėtinys, skirtas sustiprinti OAuth 2.0 autorizacijos kodo modelio saugumą, ypač naudojant viešuosiuose klientuose, tokiuose kaip JavaScript programos ar naršyklėse veikiančios mobiliosios programėlės. PKCE apsaugo nuo autorizacijos kodų perėmimo ir netinkamo naudojimo, pridėdamas papildomą autentifikacijos žingsnį prie autorizacijos užklausų.

code_challenge Vaidmuo

code_challenge yra PKCE mechanizmo dalis, generuojama ir siunčiama autorizacijos užklausos etape. Ji pagrįsta slapta reikšme (vadinama code_verifier), transformuojama naudojant maišos algoritmą, pavyzdžiui, S256. code_challenge tikslas – suteikti validacijos pagrindą vėlesniems žetonų prašymams, tiesiogiai neatskleidžiant code_verifier.

code_challenge ir code_verifier generavimas bei naudojimas

code_verifier karta:
code_verifier yra didelės entropijos, atsitiktinai generuojama styga,Simbolių ilgis (nuo 43 iki 128). Numatytoji reikšmė yra 43。

code_challenge karta:
Naudojant code_verifier, code_challenge generuojama naudojant maišos algoritmą (pvz., S256). S256 atveju code_challenge yra Base64 URL kodavimas code_verifier SHA-256 maišos reikšmei, tačiau = užpildymo simbolis iš kodavimo turi būti pašalintas, o išvesties ilgis turi būti 43 simboliai (kadangi po Base64 URL kodavimo kas 4 simboliai atitinka 3 baitus, tačiau paskutinis simbolių blokas gali būti mažesnis nei 4 simboliai, todėl ilgis gali šiek tiek skirtis pašalinus = simbolius).

Naudokite code_challenge autorizacijos užklausose:
Inicijuojant autorizacijos užklausą, code_challenge siunčiama kaip vienas iš užklausos parametrų autorizacijos serveriui.

Naudojant code_verifier žetonų užklausose:
Kai autorizacijos serveris grąžina autorizacijos kodą, klientas naudoja šį kodą kartu su anksčiau sugeneruotu code_verifier, kad prašytų prieigos prie žetono galinio taško. Autorizacijos serveris patikrina, ar code_challenge ir code_verifier sutampa, užtikrindamas, kad užklausa būtų inicijuota originalaus kliento.

PKCE generavimas

Internetiniai PKCE generavimo įrankiai:Hipersaito prisijungimas matomas.

C# kodas generuojamas taip:
Kaip parodyta žemiau:



Nuoroda:

Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.




Ankstesnis:.NET/C# Du metodai JWT tokeno parašo galiojimui patikrinti
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com