Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 2|Vastaus: 0

[Lähde] .NET/C# Kaksi menetelmää JWT-token-allekirjoituksen pätevyyden varmistamiseksi

[Kopioi linkki]
Julkaistu1 minuutti sitten | | | |
Vaatimukset: API:ta pyydettäessä JWT-tokenin todennustiedot sisällytetään. Taustajärjestelmän täytyy varmistaa, onko token-allekirjoitus pätevä, sitten varmistaa, onko se vanhentunut, liikkeeseenlaskutiedot jne.

JSON Web Key Set URI

jwks_uri (JSON Web Key Set URI) on OAuth 2.0:n ja OpenID Connect (OIDC) -määrittelyjen standardi.

Yksinkertaisesti sanottuna se on julkinen URL-osoite (tai päätepiste), joka osoittaa paikkaan, jossa autentikointipalvelin julkaisee "julkisen avaimensa". Tavallisessa OIDC-prosessissa todennuspalvelin tarjoaa palvelun löytämispäätepisteen, joka sisältää jwks_uri-osoitteen.

Sen suosittu metafora

Jos todennuspalvelimen myöntämä JWT (tai ID Token) verrataan fyysisellä virallisella sinetillä leimattuun kirjeeseen, niin:

• Yksityinen avain: "fyysinen sinetti", joka lukitaan tunnistautumispalvelimen säilyttämään kassakaappiin ja jota käytetään leimaamiseen (allekirjoitukseen).
• jwks_uri: Tämä on "sinettikuvion paljastusosio", jonka autentikointipalvelin julkaisee virallisella verkkosivustolla.
• Kolmannen osapuolen sovellus (asiakas tai resurssipalvelin): Sähköpostin saatuaan lataa sinettimalli (julkinen avain) tästä jwks_uri-osoitteesta ja vertaa sitä kirjeen leimaan todistaaksesi, että kirje on todellakin virallisen yrityksen myöntämä eikä siihen ole peukaloiteltu.

Tässä avainkokoelman käytön merkitys on:

"sig": Allekirjoitus, jota käytetään allekirjoitusten varmistamiseen tai luomiseen tietojen eheyden ja väärentämisen suojan varmistamiseksi.
"enc": Salaus, jota käytetään datan salaamiseen tai purkamiseen sekä avainten hallintaan (Key Encryption) tietojen luottamuksellisuuden varmistamiseksi.

Kuten alla on esitetty:



Jäsennä JWT-tiedot

Asenna ensin nuget-paketti:System.IdentityModel.Tokens.Jwt, lukee vaatimukset jwt:stä, koodi on seuraava:

Tulos on seuraava:
Kantaja
1059ec2e-ffa8-4ff5-bc47-f25d7e37aa5a

Varmista JWT-allekirjoituksen aitous

Sinun täytyy silti ensin viitata System.IdentityModel.Tokens.Jwt -pakettiin. Allekirjoituksen pätevyys voi varmistaa kahdella tavalla.

Ratkaisu 1: X.509-sertifikaattiketju

Deserialisointi suoritetaan X.509-kansainvälisen standardin mukaisesti, poimimalla kaikki rakenteelliset tiedot varmenteesta (kuten julkinen avain, liikkeeseenlaskija, vanhenemispäivä, sarjanumero jne.) ja luoden X509Certificate2-objektin. Lopuksi piilotettu RSA-julkinen avain saadaan sisältä JWT-tokenin varmentamiseksi. Koodi on seuraava:
Kuten alla on esitetty:



Ratkaisu 2: JsonWebKey

Muunna Security Keyksi: Se tunnistaa automaattisesti algoritmityypin sisällä. Sen jälkeen varmistetaan tokenin pätevyys. Koodi on seuraava:
(Loppu)




Edellinen:.NET/C# Hanki objektin ominaisuuksia, kenttiä ja kommentteja Roslynin perusteella
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com