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