Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 1|Svar: 0

Att förstå PKCE:s code_challenge och code_vertifier i OIDC

[Kopiera länk]
Publicerad på19 sekunder sedan | | | |
OAuth 2.0 erbjuder flera auktorisationslägen, bland vilka Authorization Code Grant är det mest använda och säkra. code_challenge är en säkerhetsförbättrad funktion inom detta läge, främst använd för PKCE (Proof Key for Code Exchange)-mekanismen.

Vad är PKCE?

PKCE (Proof Key for Code Exchange) är en tilläggsfunktion utformad för att förbättra säkerheten i OAuth 2.0-auktorisationskodmönstret, särskilt när det används i publika klienter såsom JavaScript-applikationer eller mobilappar som körs i webbläsare. PKCE förhindrar att auktorisationskoder avlyssnas och missbrukas genom att lägga till ett extra autentiseringssteg till auktorisationsförfrågningar.

code_challenge Roll

code_challenge är en del av PKCE-mekanismen, genererad och skickad under auktorisationsförfrågningsfasen. Den baseras på ett hemligt värde (kallat code_verifier), transformerat av en hashalgoritm som S256. Syftet med code_challenge är att tillhandahålla en valideringsgrund för efterföljande tokenförfrågningar utan att direkt exponera code_verifier.

Generering och användning av code_challenge och code_verifier

Generation code_verifier:
code_verifier är en högentropi, slumpmässigt genererad sträng,Teckenlängd (mellan 43 och 128). Standardvärdet är 43。

Generation code_challenge:
Med code_verifier genereras code_challenge genom en hashalgoritm (såsom S256). För S256 är code_challenge Base64-URL-kodningen av code_verifier SHA-256-hashvärdet, men =-utfyllningstecknet från kodningen måste tas bort, och utdatalängden måste vara 43 tecken (eftersom efter Base64 URL-kodning motsvarar varje 4 tecken 3 byte, men det sista teckenblocket kan vara mindre än 4 tecken, så längden kan variera något efter att = tecken tagits bort).

Använd code_challenge i auktorisationsförfrågningar:
När en auktorisationsförfrågan initieras skickas code_challenge som en av förfrågningsparametrarna till auktorisationsservern.

Att använda code_verifier i tokenförfrågningar:
När auktorisationsservern returnerar auktorisationskoden använder klienten denna kod tillsammans med den tidigare genererade code_verifier för att begära åtkomst till token-slutpunkten. Auktorisationsservern verifierar om code_challenge och code_verifier matchar, och säkerställer att begäran initieras av den ursprungliga klienten.

PKCE-generering

Online PKCE-genereringsverktyg:Inloggningen med hyperlänken är synlig.

C#-koden genereras enligt följande:
Som visas nedan:



Hänvisning:

Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.




Föregående:.NET/C# Två metoder för att verifiera giltigheten av JWT-tokensignaturen
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com