Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 1|Svar: 0

Forståelse af PKCE's code_challenge og code_vertifier i OIDC

[Kopier link]
Opslået påFor 19 sekunder siden | | | |
OAuth 2.0 tilbyder flere autorisationstilstande, hvoraf Authorization Code Grant er den mest anvendte og sikre. code_challenge er en sikkerhedsforbedret funktion inden for denne tilstand, hovedsageligt brugt til PKCE (Proof Key for Code Exchange)-mekanismen.

Hvad er PKCE?

PKCE (Proof Key for Code Exchange) er en udvidelse designet til at forbedre sikkerheden i OAuth 2.0-autorisationskodemønsteret, især når den bruges i offentlige klienter som JavaScript-applikationer eller mobilapps, der kører i browsere. PKCE forhindrer, at autorisationskoder bliver opsnappet og misbrugt ved at tilføje et ekstra autentificeringstrin til autorisationsanmodninger.

code_challenge Rolle

code_challenge er en del af PKCE-mekanismen, genereret og sendt under autorisationsanmodningsfasen. Den er baseret på en hemmelig værdi (kaldet code_verifier), transformeret af en hashing-algoritme som S256. Formålet med code_challenge er at give et valideringsgrundlag for efterfølgende tokenanmodninger uden direkte at eksponere code_verifier.

Generering og brug af code_challenge og code_verifier

Generation code_verifier:
code_verifier er en streng med høj entropi, tilfældigt genereret streng,Tegnlængde (mellem 43 og 128). Standardværdien er 43。

Generation code_challenge:
Ved at bruge code_verifier genereres code_challenge gennem en hashing-algoritme (såsom S256). For S256 er code_challenge Base64 URL-kodningen af code_verifier SHA-256 hashværdien, men = udfyldningstegnet fra kodningen skal fjernes, og outputlængden skal være 43 tegn (da efter Base64 URL-kodning repræsenterer hver 4 tegn 3 bytes, men den sidste tegnblok kan være mindre end 4 tegn, så længden kan variere lidt efter fjernelse af = tegn).

Brug code_challenge i autorisationsanmodninger:
Når en autorisationsanmodning initieres, sendes code_challenge som en af anmodningsparametrene til autorisationsserveren.

Brug af code_verifier i tokenanmodninger:
Når autorisationsserveren returnerer autorisationskoden, bruger klienten denne kode sammen med den tidligere genererede code_verifier til at anmode om adgang til token-endpointet. Autorisationsserveren verificerer, om code_challenge og code_verifier matcher, og sikrer, at anmodningen initieres af den oprindelige klient.

PKCE-generering

Online værktøjer til generering af PKCE:Hyperlink-login er synlig.

C#-koden genereres som følger:
Som vist nedenfor:



Henvisning:

Hyperlink-login er synlig.
Hyperlink-login er synlig.




Tidligere:.NET/C# To metoder til at verificere gyldigheden af JWT-tokensignaturen
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com