Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 2|Odpoveď: 0

[Zdroj] .NET/C# Dve metódy na overenie platnosti JWT tokenového podpisu

[Kopírovať odkaz]
ZverejnenéPred 1 minútou | | | |
Požiadavky: Pri žiadosti o API budú zahrnuté autentifikačné informácie JWT tokenu. Backend musí overiť, či je podpis tokenu platný, potom overiť, či vypršal, informácie o vydaní a podobne.

JSON Web Key Set URI

jwks_uri (JSON Web Key Set URI) je štandardná konfiguračná položka v špecifikáciách OAuth 2.0 a OpenID Connect (OIDC).

Jednoducho povedané, ide o verejnú URL adresu (alebo koncový bod), ktorá ukazuje na miesto, kde autentifikačný server zverejňuje svoju "sadu verejných kľúčov". V štandardnom procese OIDC poskytuje autentifikačný server endpoint na objavovanie služby obsahujúci jwks_uri adresu.

Jeho populárna metafora

Ak je JWT (alebo ID token) vydaný autentifikačným serverom prirovnávaný k listu s fyzickou oficiálnou pečaťou, potom:

• Súkromný kľúč: "Fyzická pečať" zamknutá v trezore uloženom autentifikačným serverom, používaná na pečiatkovanie (podpisovanie).
• jwks_uri: Toto je sekcia "zverejnenie vzoru pečate" zverejnená na oficiálnej webovej stránke autentifikačným serverom.
• Aplikácia tretej strany (klient alebo server): Po prijatí e-mailu si stiahnite dizajn pečate (verejný kľúč) z tejto jwks_uri adresy a porovnajte ho so známkou na liste, aby ste dokázali, že list bol skutočne vydaný oficiálnou spoločnosťou a nebol pozmenený.

Tu je význam použitia v zbierke kľúčov nasledovný:

"sig": Podpis, ktorý sa používa na overenie alebo generovanie podpisov na zabezpečenie integrity dát a ochrany proti manipulácii.
"enc": Šifrovanie, používané na šifrovanie alebo dešifrovanie dát, ako aj na správu kľúčov (šifrovanie kľúčov) na zabezpečenie dôvernosti údajov.

Ako je uvedené nižšie:



Informácie o analýze JWT

Najprv nainštalujte balík nuget:System.IdentityModel.Tokens.Jwt, číta informácie o nárokoch z jwt, kód je nasledovný:

Výstup je nasledovný:
Nositeľ
1059ec2e-ffa8-4ff5-bc47-f25d7e37aa5a

Overte platnosť JWT podpisu

Stále však musíte najskôr skontrolovať balík System.IdentityModel.Tokens.Jwt. Existujú dva spôsoby, ako overiť platnosť podpisu.

Riešenie 1: X.509 reťazec certifikátov

Deserializácia sa vykonáva podľa medzinárodného štandardu X.509, pričom sa z certifikátu extrahujú všetky štruktúrované informácie (ako verejný kľúč, vydavateľ, dátum expirácie, sériové číslo atď.) a generuje objekt X509Certificate2. Nakoniec sa získa skrytý verejný kľúč RSA vo vnútri na overenie JWT tokenu. Kód je nasledovný:
Ako je uvedené nižšie:



Riešenie 2: JsonWebKey

Konverzia na bezpečnostný kľúč: Automaticky identifikuje typ algoritmu vo vnútri. Potom overí platnosť tokenu. Kód je nasledovný:
(Koniec)




Predchádzajúci:.NET/C# Získajte vlastnosti objektu, polia a komentáre na základe Roslyn
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com