Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 1|Svare: 0

Å forstå code_challenge og code_vertifier av PKCE i OIDC

[Kopier lenke]
Publisert påFor 19 sekunder siden | | | |
OAuth 2.0 tilbyr flere autorisasjonsmoduser, hvorav Authorization Code Grant er den mest brukte og sikre. code_challenge er en sikkerhetsforbedret funksjon i denne modusen, hovedsakelig brukt for PKCE (Proof Key for Code Exchange)-mekanismen.

Hva er PKCE?

PKCE (Proof Key for Code Exchange) er en utvidelse utviklet for å forbedre sikkerheten til OAuth 2.0-autorisasjonskodemønsteret, spesielt når det brukes i offentlige klienter som JavaScript-applikasjoner eller mobilapper som kjører i nettlesere. PKCE forhindrer at autorisasjonskoder blir avlyttet og misbrukt ved å legge til et ekstra autentiseringstrinn i autorisasjonsforespørsler.

code_challenge Rolle

code_challenge er en del av PKCE-mekanismen, generert og sendt under autorisasjonsfasen. Den er basert på en hemmelig verdi (kalt code_verifier), transformert av en hashing-algoritme som S256. Formålet med code_challenge er å gi et valideringsgrunnlag for påfølgende tokenforespørsler uten å eksponere code_verifier direkte.

Generering og bruk av code_challenge og code_verifier

Generasjon code_verifier:
code_verifier er en høy-entropi, tilfeldig generert streng,Tegnlengde (mellom 43 og 128). Standardverdien er 43。

Generasjon code_challenge:
Ved å bruke code_verifier genereres code_challenge gjennom en hashing-algoritme (som S256). For S256 er code_challenge Base64-URL-kodingen av code_verifier SHA-256-hashverdien, men = utfyllingstegnet fra kodingen må fjernes, og utdatalengden må være 43 tegn (siden etter Base64 URL-koding representerer hver 4 tegn 3 bytes, men den siste tegnblokken kan være mindre enn 4 tegn, så lengden kan variere litt etter fjerning av = tegn).

Bruk code_challenge i autorisasjonsforespørsler:
Når en autorisasjonsforespørsel initieres, sendes code_challenge som en av forespørselsparametrene til autorisasjonsserveren.

Å bruke code_verifier i tokenforespørsler:
Når autorisasjonsserveren returnerer autorisasjonskoden, bruker klienten denne koden sammen med den tidligere genererte code_verifier for å be om tilgang til token-endepunktet. Autorisasjonsserveren verifiserer om code_challenge og code_verifier stemmer, og sikrer at forespørselen initieres av den opprinnelige klienten.

PKCE-generering

Nettbaserte verktøy for PKCE-generering:Innloggingen med hyperkoblingen er synlig.

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



Referanse:

Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.




Foregående:.NET/C# To metoder for å verifisere gyldigheten av JWT-tokensignaturen
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com