Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 2|Odpověď: 0

[Zdroj] .NET/C# Dvě metody pro ověření platnosti podpisu tokenu JWT

[Kopírovat odkaz]
ZveřejněnoPřed 1 minutou | | | |
Požadavky: Při žádosti o API budou zahrnuty autentizační informace JWT tokenu. Backend musí ověřit, zda je podpis tokenu platný, poté ověřit, zda vypršel, informace o vydání atd.

JSON Web Key Set URI

jwks_uri (JSON Web Key Set URI) je standardní konfigurační položka ve specifikacích OAuth 2.0 a OpenID Connect (OIDC).

Jednoduše řečeno, jedná se o veřejnou URL adresu (nebo koncový bod URL), která ukazuje na místo, kde autentizační server zveřejňuje svou "sadu veřejných klíčů". Ve standardním procesu OIDC poskytuje autentizační server endpoint pro objevování služby obsahující jwks_uri adresu.

Jeho oblíbená metafora

Pokud je JWT (nebo ID Token) vydaný autentizačním serverem přirovnáván k dopisu s fyzickou oficiální pečetí, pak:

• Soukromý klíč: "Fyzická pečeť" uzamčená v trezoru uloženém autentizačním serverem, používaná k razítkování (podepisování).
• jwks_uri: Toto je sekce "odhalení vzoru pečeti" zveřejněná na oficiálních stránkách autentizačním serverem.
• Aplikace třetí strany (klient nebo server): Po obdržení e-mailu si stáhněte návrh pečeti (veřejný klíč) z této jwks_uri adresy a porovnejte jej s razítkem na dopise, abyste prokázali, že dopis skutečně vydala oficiální společnost a nebyl pozměněn.

Zde je význam použití v kolekci klíčů následující:

"sig": Podpis, používaný k ověření nebo generování podpisů za účelem zajištění integrity dat a ochrany proti manipulaci.
"enc": Šifrování, používané k šifrování nebo dešifrování dat, stejně jako ke správě klíčů (šifrování klíčů) za účelem zajištění důvěrnosti dat.

Jak je uvedeno níže:



Informace o analýze JWT

Nejprve nainstalujte balíček nuget:System.IdentityModel.Tokens.Jwt, čte informace o nárokech z jwt, kód je následující:

Výstup je následující:
Nositel
1059ec2e-ffa8-4ff5-bc47-f25d7e37aa5a

Ověřte platnost podpisu JWT

Stále je potřeba nejprve odkázat na balíček System.IdentityModel.Tokens.Jwt. Existují dva způsoby, jak ověřit platnost podpisu.

Řešení 1: X.509 řetězec certifikátů

Deserializace probíhá podle mezinárodního standardu X.509, kdy se z certifikátu extrahují všechny strukturované informace (jako veřejný klíč, emitent, datum expirace, sériové číslo atd.) a generuje objekt X509Certificate2. Nakonec je uvnitř získán skrytý veřejný klíč RSA pro ověření tokenu JWT. Kód je následující:
Jak je uvedeno níže:



Řešení 2: JsonWebKey

Převod na bezpečnostní klíč: Automaticky identifikuje typ algoritmu uvnitř. Poté ověří platnost tokenu. Kód je následující:
(Konec)




Předchozí:.NET/C# Získejte vlastnosti objektů, pole a komentáře na základě Roslyn
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com