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