See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 2|Vastuse: 0

[Allikas] .NET/C# Kaks meetodit JWT tokeni allkirja kehtivuse kontrollimiseks

[Kopeeri link]
Postitatud1 minut tagasi | | | |
Nõuded: API taotlemisel lisatakse JWT tokeni autentimisinfo. Taustsüsteem peab kontrollima, kas tokeni allkiri on kehtiv, seejärel kontrollima, kas see on aegunud, väljastamise info jne.

JSON Web Key Set URI

jwks_uri (JSON Web Key Set URI) on standardne konfiguratsioonielement OAuth 2.0 ja OpenID Connect (OIDC) spetsifikatsioonides.

Lihtsalt öeldes on see avalik URL-aadress (või lõpp-punkt), mis osutab kohta, kus autentimisserver avaldab oma "avaliku võtme komplekti". Tavapärases OIDC protsessis pakub autentimisserver teenuse avastamise lõpp-punkti, mis sisaldab jwks_uri aadressi.

Selle populaarne metafoor

Kui autentimisserveri väljastatud JWT (või ID Token) võrreldakse füüsilise ametliku pitseriga märgiga, siis:

• Privaatvõti: "füüsiline pitser", mis on lukustatud autentimisserveri seifis ja mida kasutatakse tembeldamiseks (allkirjastamiseks).
• jwks_uri: See on ametlikul veebilehel autentimisserveri poolt postitatud "pitserimustri avalikustamise osa".
• Kolmanda osapoole rakendus (klient või ressursiserver): Pärast e-kirja saamist laadi sellest jwks_uri aadressist alla pitseri kujundus (avalik võti) ja võrdle seda kirja templiga, et tõestada, et kiri on tõepoolest ametliku ettevõtte poolt väljastatud ega ole manipuleeritud.

Siin on võtmekogus kasutuse tähendus järgmine:

"sig": allkiri, mida kasutatakse allkirjade kinnitamiseks või genereerimiseks, et tagada andmete terviklikkus ja võltsimiskindel kaitse.
"enc": Krüpteerimine, mida kasutatakse andmete krüpteerimiseks või dekrüpteerimiseks ning võtmete haldamiseks (võtmekrüpteerimine) andmete konfidentsiaalsuse tagamiseks.

Nagu allpool näidatud:



Analüüsi JWT infot

Kõigepealt paigalda nuget pakett:System.IdentityModel.Tokens.Jwt, loeb nõuete infot jwt-st, kood on järgmine:

Väljund on järgmine:
Kandja
1059ec2e-ffa8-4ff5-bc47-f25d7e37aa5a

Kontrolli JWT allkirja kehtivust

Sa pead siiski esmalt viitama paketile System.IdentityModel.Tokens.Jwt. Allkirja kehtivuse kontrollimiseks on kaks võimalust.

Lahendus 1: X.509 sertifikaadiahel

Deserialiseerimine toimub vastavalt X.509 rahvusvahelisele standardile, eraldades kogu struktureeritud info sertifikaadist (näiteks avalik võti, väljastaja, aegumiskuupäev, seerianumber jne) ning luues X509Certificate2 objekti. Lõpuks saadakse sees peidetud RSA avalik võti, et kontrollida JWT tokenit. Kood on järgmine:
Nagu allpool näidatud:



Lahendus 2: JsonWebKey

Teisenda turvavõtmeks: See tuvastab automaatselt sees oleva algoritmi tüübi. Seejärel kontrollitakse tokeni kehtivust. Kood on järgmine:
(Lõpp)




Eelmine:.NET/C# Hangi objekti omadusi, välju ja kommentaare Roslyni põhjal
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com