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