Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 2|Antwort: 0

[Quelle] .NET/C# Zwei Methoden zur Überprüfung der Gültigkeit der JWT-Token-Signatur

[Link kopieren]
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
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com