Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 2|Válasz: 0

[Forrás] .NET/C# Két módszer a JWT token aláírásának érvényességének ellenőrzésére

[Linket másol]
Közzétéve1 perce | | | |
Követelmények: API kérésekor a JWT token hitelesítési információkat is beillesztjük. A háttérrendszernek ellenőriznie kell, hogy a token aláírás érvényes-e, majd ellenőriznie kell, hogy lejárt-e, a kibocsátási adatokat stb.

JSON Web Key Set URI

jwks_uri (JSON Web Key Set URI) egy szabványos konfigurációs elem az OAuth 2.0 és az OpenID Connect (OIDC) specifikációiban.

Egyszerűen fogalmazva, ez egy nyilvános URL-cím (vagy végpont), amely arra mutat, ahol a hitelesítési szerver közzéteszi a "nyilvános kulcskészletet". A szabványos OIDC folyamatban a hitelesítési szerver szolgáltatásfelfedező végpontot biztosít, amely tartalmazza a jwks_uri címet.

Népszerű metaforája

Ha a hitelesítési szerver által kiadott JWT (vagy ID Token) egy fizikai hivatalos pecséttel bélyegzett levélhez hasonlítjuk, akkor:

• Privát kulcs: Az autentifikációs szerver által őrzött széfbe zárt "fizikai pecsét", amelyet aláírásra (bélyegzésre) használnak.
• jwks_uri: Ez a "pecséte minta közzétételi szekció", amelyet a hitelesítési szerver közzétesz a hivatalos weboldalon.
• Harmadik féltől származó alkalmazás (kliens vagy erőforrás szerver): Az e-mail megérkezése után letöltse a pecséttervezést (nyilvános kulcs) erről a jwks_uri címről, és hasonlítsa össze a levél pecsétjével, hogy bizonyítsa, valóban a hivatalos cég adta ki a levelet, és nem manipulálták.

Itt a kulcsgyűjteményben való használat jelentése a következő:

"sig": Aláírás, amelyet aláírások ellenőrzésére vagy generálására használnak az adatok integritásának és a manipulációmentes védelem érdekében.
"enc": Titkosítás, amely adatok titkosítására vagy visszafejtésére, valamint kulcsok kezelésére (kulcstitkosítás) szolgál az adatok titoktartásának biztosítása érdekében.

Ahogy az alábbiakban látható:



Elemzés JWT adatai

Először telepítsd a nuget csomagot:System.IdentityModel.Tokens.Jwt, olvassa a jwt-ből származó igények információit, a kód a következő:

A kimenet a következő:
Hordozó
1059ec2e-ffa8-4ff5-bc47-f25d7e37aa5a

Ellenőrizd a JWT aláírás érvényességét

Még mindig először hivatkoznod kell a System.IdentityModel.Tokens.Jwt csomagra. Kétféleképpen ellenőrizheted az aláírás érvényességét.

1. megoldás: X.509 tanúsítványlánc

A deserializáció az X.509 nemzetközi szabvány szerint történik, kinyerve a tanúsítványból minden strukturált információt (például nyilvános kulcsot, kibocsátót, lejárati dátumot, sorozatszámot stb.), és létrehozva egy X509Certificate2 objektumot. Végül a rejtett RSA nyilvános kulcsot megszerezzük a JWT token ellenőrzésére. A kód a következő:
Ahogy az alábbiakban látható:



2. megoldás: JsonWebKey

Biztonsági kulcsra konvertálás: Automatikusan azonosítja az algoritmus típusát belül. Ezután ellenőrizzük a token érvényességét. A kód a következő:
(Vége)




Előző:.NET/C# Szerezzen objektumtulajdonságokat, mezőket és kommenteket Roslyn alapján
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com