|
|
Veröffentlicht amVor 1 Minute
|
|
|
|

Anforderungen: Bei der Anforderung einer API werden die JWT-Token-Authentifizierungsinformationen einbezogen. Das Backend muss überprüfen, ob die Token-Signatur gültig ist, dann prüfen, ob sie abgelaufen ist, die Ausgabeinformationen usw.
JSON Web Key Set URI
jwks_uri (JSON Web Key Set URI) ist ein Standardkonfigurationselement in den OAuth 2.0- und OpenID Connect (OIDC)-Spezifikationen.
Einfach ausgedrückt handelt es sich um eine öffentliche URL-Adresse (oder Endpunkt), die darauf hinweist, wo der Authentifizierungsserver seinen "öffentlichen Schlüsselsatz" veröffentlicht. Im Standard-OIDC-Prozess stellt der Authentifizierungsserver einen Service-Discovery-Endpunkt bereit, der die jwks_uri Adresse enthält.
Seine populäre Metapher
Wenn das vom Authentifizierungsserver ausgegebene JWT (oder ID-Token) mit einem Brief mit einem physischen offiziellen Siegel verglichen wird, dann:
• Privater Schlüssel: Das "physische Siegel", das im vom Authentifizierungsserver gehaltenen Safe verschlossen ist und zum Stempeln (Signieren) verwendet wird. • jwks_uri: Dies ist der Abschnitt zur Offenlegung des Siegelmusters, der vom Authentifizierungsserver auf der offiziellen Website veröffentlicht wird. • Drittanbieteranwendung (Client oder Ressourcenserver): Nach Erhalt der E-Mail wird das Siegeldesign (Public Key) von dieser jwks_uri Adresse heruntergeladen und mit dem Stempel auf dem Brief verglichen wird, um zu beweisen, dass der Brief tatsächlich vom offiziellen Unternehmen ausgestellt wurde und nicht manipuliert wurde.
Hier lautet die Bedeutung von Verwendung in der Schlüsselsammlung:
"sig": Signatur, verwendet zur Überprüfung oder Erstellung von Signaturen, um Datenintegrität und manipulationssicheren Schutz sicherzustellen. "enc": Verschlüsselung, verwendet zur Verschlüsselung oder Entschlüsselung von Daten sowie zur Verwaltung von Schlüsseln (Schlüsselverschlüsselung) zur Gewährleistung der Datenvertraulichkeit.
Wie unten gezeigt:
Parse-JWT-Informationen
Zuerst installieren Sie das Nuget-Paket:System.IdentityModel.Tokens.Jwt, liest die Schadensinformationen aus dem jwt aus, der Code lautet wie folgt:
Die Ausgabe ist wie folgt:
Träger 1059ec2e-ffa8-4ff5-bc47-f25d7e37aa5a
Überprüfung der Gültigkeit der JWT-Signatur
Du musst weiterhin zuerst auf das System.IdentityModel.Tokens.Jwt-Paket referenzieren. Es gibt zwei Möglichkeiten, die Gültigkeit der Signatur zu überprüfen.
Lösung 1: X.509-Zertifikatskette
Die Deserialisierung erfolgt gemäß dem internationalen Standard X.509, wobei alle strukturierten Informationen aus dem Zertifikat extrahiert werden (wie Public Key, Issuer, Ablaufdatum, Seriennummer usw.) und ein X509Certificate2-Objekt generiert werden. Schließlich wird der versteckte RSA-Public-Key erhalten, um das JWT-Token zu verifizieren. Der Code lautet wie folgt:
Wie unten gezeigt:
Lösung 2: JsonWebKey
In Sicherheitsschlüssel konvertieren: Er identifiziert automatisch den Algorithmustyp darin. Dann wird die Gültigkeit des Tokens überprüft. Der Code lautet wie folgt:
(Ende) |
Vorhergehend:.NET/C# Objekteigenschaften, Felder und Kommentare basierend auf Roslyn erhalten
|