|
|
Objavljeno naPred 1 minuto
|
|
|
|

Zahteve: Pri zahtevi API-ja bodo vključene informacije o avtentikaciji JWT žetona. Backend mora preveriti, ali je podpis žetona veljaven, nato preveriti, ali je potekel, podatke o izdaji itd.
JSON Web Key Set URI
jwks_uri (JSON Web Key Set URI) je standardni konfiguracijski element v specifikacijah OAuth 2.0 in OpenID Connect (OIDC).
Preprosto povedano, gre za javni URL naslov (ali končno točko), ki kaže, kje strežnik za avtentikacijo objavi svoj "nabor javnih ključev". V standardnem procesu OIDC strežnik za avtentikacijo zagotavlja končno točko za odkrivanje storitve, ki vsebuje jwks_uri naslov.
Njegova priljubljena metafora
Če je JWT (ali ID žeton), ki ga izda strežnik za overitev, primerljiv s pismom z uradnim žigom, potem:
• Zasebni ključ: "fizični pečat", zaklenjen v sefu, ki ga hrani strežnik za avtentikacijo, in se uporablja za žigosanje (podpisovanje). • jwks_uri: To je "razkritje vzorca pečata", ki ga na uradni spletni strani objavi strežnik za overjanje. • Aplikacija tretje osebe (odjemalec ali strežnik virov): Po prejemu e-pošte prenesite dizajn pečata (javni ključ) s tega jwks_uri naslova in ga primerjajte z žigom na pismu, da dokažete, da je pismo res izdalo uradno podjetje in da ni bilo spremenjeno.
Tukaj je pomen uporabe v zbirki ključev:
"sig": Podpis, ki se uporablja za preverjanje ali generiranje podpisov za zagotavljanje integritete podatkov in zaščito pred posegi. "enc": Šifriranje, ki se uporablja za šifriranje ali dešifriranje podatkov ter upravljanje ključev (šifriranje ključev) za zagotavljanje zaupnosti podatkov.
Kot je prikazano spodaj:
Informacije o analizi JWT
Najprej namestite paket Nuget:System.IdentityModel.Tokens.Jwt, bere informacije o zahtevkih iz jwt, koda je naslednja:
Izhod je naslednji:
Nosilec 1059ec2e-ffa8-4ff5-bc47-f25d7e37aa5a
Preverite veljavnost podpisa JWT
Še vedno morate najprej pogledati paket System.IdentityModel.Tokens.Jwt. Obstajata dva načina za preverjanje veljavnosti podpisa.
Rešitev 1: X.509 veriga certifikatov
Deserializacija se izvaja v skladu z mednarodnim standardom X.509, pri čemer se iz certifikata izvlečejo vse strukturirane informacije (kot so javni ključ, izdajatelj, datum poteka, serijska številka itd.) in generirajo objekt X509Certificate2. Na koncu se pridobi skriti javni ključ RSA znotraj za preverjanje žetona JWT. Koda je naslednja:
Kot je prikazano spodaj:
Rešitev 2: JsonWebKey
Pretvorba v varnostni ključ: Samodejno identificira tip algoritma znotraj. Nato preveri veljavnost žetona. Koda je naslednja:
(Konec) |
Prejšnji:.NET/C# Pridobi lastnosti objektov, polja in komentarje na podlagi Roslyna
|