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

Utsikt: 2|Svar: 0

[Källa] .NET/C# Två metoder för att verifiera giltigheten av JWT-tokensignaturen

[Kopiera länk]
Publicerad påFör 1 minut sedan | | | |
Krav: När man begär ett API kommer JWT-tokenautentiseringsinformationen att inkluderas. Backend måste verifiera om tokensignaturen är giltig, sedan verifiera om den har gått ut, utfärdande information, etc.

JSON Web Key Set URI

jwks_uri (JSON Web Key Set URI) är en standardkonfigurationspunkt i OAuth 2.0 och OpenID Connect (OIDC)-specifikationerna.

Enkelt uttryckt är det en publik URL-adress (eller endpoint) som pekar på platsen där autentiseringsservern publicerar sin "publika nyckeluppsättning." I den standardiserade OIDC-processen tillhandahåller autentiseringsservern en tjänsteupptäcktsendpoint som innehåller jwks_uri adressen.

Dess populära metafor

Om JWT (eller ID-token) som utfärdas av autentiseringsservern liknas vid ett brev stämplat med en fysisk officiell sigill, då:

• Privat nyckel: Den "fysiska sigillen" som är låst i kassaskåpet som förvaras av autentiseringsservern, används för stämpling (signering).
• jwks_uri: Detta är avsnittet om "sigillmönsteravslöjande" som publiceras på den officiella webbplatsen av autentiseringsservern.
• Tredjepartsapplikation (klient eller resursserver): Efter att ha mottagit e-postmeddelandet, ladda ner sigilldesignen (publik nyckel) från denna jwks_uri adress och jämför med stämpeln på brevet för att bevisa att brevet faktiskt utfärdats av det officiella företaget och inte manipulerats.

Här är betydelsen av användning i nycklarsamlingen:

"sig": Signatur, används för att verifiera eller generera signaturer för att säkerställa dataintegritet och skydd mot manipulation.
"enc": Kryptering, används för att kryptera eller dekryptera data samt hantera nycklar (nyckelkryptering) för att säkerställa datakonfidentialitet.

Som visas nedan:



Analys av JWT-information

Installera först nuget-paketet:System.IdentityModel.Tokens.Jwt, läser kravinformationen från jwt, koden är följande:

Resultatet är följande:
Bärare
1059ec2e-ffa8-4ff5-bc47-f25d7e37aa5a

Verifiera giltigheten av JWT-signaturen

Du måste fortfarande först referera till System.IdentityModel.Tokens.Jwt-paketet. Det finns två sätt att verifiera signaturens giltighet.

Lösning 1: X.509-certifikatkedjan

Deserialisering utförs enligt X.509 internationella standard, där all strukturerad information extraheras från certifikatet (såsom publik nyckel, utgivare, utgångsdatum, serienummer etc.) och genereras ett X509Certificate2-objekt. Slutligen erhålls den dolda RSA-publika nyckeln inuti för att verifiera JWT-token. Koden är följande:
Som visas nedan:



Lösning 2: JsonWebKey

Konvertera till säkerhetsnyckel: Den identifierar automatiskt algoritmtypen inuti. Verifiera sedan tokens giltighet. Koden är följande:
(Slut)




Föregående:.NET/C# Hämta objektegenskaper, fält och kommentarer baserade på Roslyn
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