|
|
Opslået påFor 1 minut siden
|
|
|
|

Krav: Når man anmoder om et API, vil JWT-tokenautentificeringsinformationen blive inkluderet. Backend skal verificere, om tokensignaturen er gyldig, derefter om den er udløbet, udstedelsesoplysningerne osv.
JSON Web Key Set URI
jwks_uri (JSON Web Key Set URI) er et standardkonfigurationselement i OAuth 2.0 og OpenID Connect (OIDC) specifikationerne.
Kort sagt er det en offentlig URL-adresse (eller endepunkt), der peger på, hvor autentificeringsserveren offentliggør sit "offentlige nøglesæt." I den standard OIDC-proces leverer autentificeringsserveren et serviceopdagelsesendepunkt, der indeholder den jwks_uri adresse.
Dens populære metafor
Hvis JWT (eller ID-tokenet), udstedt af autentificeringsserveren, sammenlignes med et brev stemplet med et fysisk officielt segl, så:
• Privat nøgle: Det "fysiske segl", låst i pengeskabet som autentificeringsserveren opbevarer, brugt til stempling (signering). • jwks_uri: Dette er "seal pattern disclosure-sektionen", som er lagt op på den officielle hjemmeside af autentificeringsserveren. • Tredjepartsapplikation (klient eller ressourceserver): Efter modtagelse af e-mailen downloades segldesignet (offentlig nøgle) fra denne jwks_uri adresse og sammenlignes med stemplet på brevet for at bevise, at brevet faktisk er udstedt af det officielle firma og ikke er blevet manipuleret med.
Her er betydningen af brug i nøglesamlingen:
"sig": Signatur, brugt til at verificere eller generere signaturer for at sikre dataintegritet og manipulationssikker beskyttelse. "enc": Kryptering, brugt til at kryptere eller dekryptere data samt administrere nøgler (nøglekryptering) for at sikre datafortrolighed.
Som vist nedenfor:
Parse JWT-information
Først installerer du nuget-pakken:System.IdentityModel.Tokens.Jwt, læser kravoplysningerne fra jwt, koden er som følger:
Outputtet er som følger:
Bærer 1059ec2e-ffa8-4ff5-bc47-f25d7e37aa5a
Verificér gyldigheden af JWT-signaturen
Du skal stadig først referere til System.IdentityModel.Tokens.Jwt-pakken. Der er to måder at verificere signaturens gyldighed på.
Løsning 1: X.509 certifikatkæde
Deserialisering udføres i henhold til X.509 internationale standard, hvor al struktureret information udtrækkes fra certifikatet (såsom offentlig nøgle, udsteder, udløbsdato, serienummer osv.) og genereres et X509Certificate2-objekt. Endelig opnås den skjulte RSA-offentlige nøgle indeni for at verificere JWT-tokenet. Koden er som følger:
Som vist nedenfor:
Løsning 2: JsonWebKey
Konverter til sikkerhedsnøgle: Den identificerer automatisk algoritmetypen indeni. Derefter verificeres tokenets gyldighed. Koden er som følger:
(Slut) |
Tidligere:.NET/C# Hent objektegenskaber, felter og kommentarer baseret på Roslyn
|