Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 1|Válasz: 0

A PKCE code_challenge és code_vertifier megértése az OIDC-ben

[Linket másol]
Közzétéve19 másodperccel ezelőtt | | | |
Az OAuth 2.0 több hitelesítési módot kínál, amelyek közül az Authorization Code Grant a leggyakoribb és legbiztonságosabb. code_challenge egy biztonsági fejlesztésű funkció ebben a módban, főként a PKCE (Proof Key for Code Exchange) mechanizmushoz használják.

Mi az a PKCE?

A PKCE (Proof Key for Code Exchange) egy kiterjesztés, amely az OAuth 2.0 engedélyezési kód minta biztonságának növelésére szolgál, különösen nyilvános kliensekben, például JavaScript alkalmazásokban vagy böngészőben futó mobilalkalmazásokban használat esetén. A PKCE megakadályozza, hogy az engedélyezési kódokat elfogják és visszahasználják, azáltal, hogy egy további hitelesítési lépést ad az engedélyezési kérelmekhez.

code_challenge Szerep

code_challenge a PKCE mechanizmus része, amelyet az engedélyezési kérelmek fázisában generálnak és küldenek. Egy titkos értéken (code_verifier-nek nevezik) alapul, amelyet egy hashing algoritmus, például az S256 alakít át. A code_challenge célja, hogy validációs alapot biztosítson a későbbi token kérések számára anélkül, hogy közvetlenül felfednék a code_verifier.

A code_challenge és code_verifier generálása és használata

code_verifier. generáció:
code_verifier egy magas entrópiájú, véletlenszerűen generált lánc,Karakterhossz (43 és 128 között). Az alapértelmezett érték 43。

code_challenge. generáció:
code_verifier használatával code_challenge egy hashing algoritmuson keresztül generálódik (például S256). S256 esetén code_challenge a code_verifier SHA-256 hash érték Base64 URL kódolása, de a kódolásból a = töltő karaktert el kell távolítani, és a kimeneti hossznak 43 karakternek kell lennie (mivel a Base64 URL kódolás után minden 4 karakter 3 bájtot képvisel, de az utolsó karakterblokk lehet kisebb 4 karakternél, így a hossz kissé változhat = karakterek eltávolítása után).

Használd code_challenge engedélyezési kérelmekhez:
Engedélyezési kérelem indításakor code_challenge az egyik kérésparaméterként küldik el az engedélyezési szervernek.

Token kérésekben code_verifier használata:
Amikor az engedélyezési szerver visszaadja az engedélyezési kódot, az ügyfél ezt a kódot használja a korábban generált code_verifier-vel együtt, hogy hozzáférést kérjen a token végponthoz. Az engedélyezési szerver ellenőrzi, hogy a code_challenge és a code_verifier egyeznek-e, biztosítva, hogy a kérést az eredeti kliens indítja.

PKCE generálás

Online PKCE generáló eszközök:A hiperlink bejelentkezés látható.

A C# kód a következőképpen generálódik:
Ahogy az alábbiakban látható:



Utalás:

A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.




Előző:.NET/C# Két módszer a JWT token aláírásának érvényességének ellenőrzésére
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com