|
|
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
|