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

Ansehen: 58862|Antwort: 3

[Quelle] Erfahren Sie mehr über das Verständnis von JWT (JSON Web Tokens).

[Link kopieren]
Veröffentlicht am 21.05.2018 15:56:52 | | | |
Einführung in JWT: JSON Web Token (JWT) ist ein offener Standard (RFC 7519), der eine kompakte und in sich geschlossene Methode definiert, Informationen sicher zwischen Parteien in JSON-Objekten zu übertragen. Diese Informationen können durch digitale Unterschriften überprüft und vertrauenswürdig gemacht werden. JWTs können mit Secrets (mit dem HMAC-Algorithmus) oder mit den öffentlichen und privaten Schlüsselpaaren von RSA signiert werden.


Einige Szenarien, in denen JSON Web Tokens nützlich sind:

Identitätsverifizierung:Dies ist der häufigste Fall bei der Verwendung von JWTs. Sobald der Benutzer sich einloggt, enthält jede nachfolgende Anfrage ein JWT, das es dem Benutzer ermöglicht, auf die von diesem Token erlaubten Routen, Dienste und Ressourcen zuzugreifen. Single Sign-on ist heute eine Funktion, die aufgrund ihres geringen Overheads und der einfachen Nutzung in verschiedenen Domänen weit verbreitet ist.

Informationsaustausch:JSON Web Tokens sind eine großartige Möglichkeit, Informationen sicher zwischen Parteien zu übertragen. Da JWTs signiert werden können – zum Beispiel mit öffentlichen und privaten Schlüsselpaaren –, kann man sicher sein, dass der Absender der ist, der er vorgibt zu sein. Außerdem können Sie, da die Signatur mit Headern und Payloads berechnet wird, auch überprüfen, ob der Inhalt nicht manipuliert wurde.


Offizielle Website:Der Hyperlink-Login ist sichtbar.

Parse JWT-Informationen onlineDer Hyperlink-Login ist sichtbar.



JWT-Parameter online analysieren  Der Hyperlink-Login ist sichtbar.

Mein Verständnis von JWT unten ist falsch, bitte gebt mir einen Rat

Erstens, dieses Ding wird nicht empfohlen, es auf der MVC-Website zu verwenden, du kannst es in der WebAPI verwenden, die Positionierung dieses Dings ist API, nicht eine Sitzung der Ersatzwebsite!

asp.net Webapi-Nutzungstutorial:Der Hyperlink-Login ist sichtbar.Ich werde das Rad nicht neu machen, aber es ist in Ordnung, sich anzusehen, was in diesem Artikel geschrieben ist.

Die Zusammensetzung von JWT

JWT besteht aus drei Teilen: Header, Payload und Signature, mit Punktsymbolen dazwischen, um die Form von xx.yy.zz zu bilden.


Beachten Sie, dass bei signierten Token diese Informationen von jedem gelesen werden können, trotz Manipulationsschutz. Fügen Sie keine sensiblen Informationen in die gültigen Inhalte oder Header-Elemente des JWT ein, es sei denn, sie sind verschlüsselt.

Zum Beispiel:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

{
alg: "HS256",
typ: "JWT"
}.
{
sub: "1234567890",
name: "John Doe",
iat: 1516239022
}.
[Unterschrift]

Laienausgedrückt kann jeder dieses Token entschlüsseln, aber die Echtheit dieser Informationen kann nicht überprüft werden, nur der Server, der dieses Token erstellt hat, kann die Echtheit überprüfen, daher sollten Sie keine sensiblen Informationen darin speichern.


Es gibt hier ein Problem, nämlich: Wenn der Nutzer das Passwort ändert oder der Nutzer daran gehindert ist, sich einzuloggen, wie kann JWT dann die Gültigkeit des Tokens lösen?

Meine eigene Idee ist, eine guid-ähnliche Zeichenkette im Payload-Bereich hinzuzufügen und dann im Cache zu existieren; wenn wir die Identität des Benutzers überprüfen, nicht nur die jwt, sondern auch die Payload-Informationen im jwt überprüfen, können wir die Gültigkeit steuern, indem wir den Cache steuern.







Vorhergehend:C# Open-Source-Framework (Nachdruck)
Nächster:Du benutzt den sicheren Update-Modus und hast versucht, es kurz zu aktualisieren
Veröffentlicht am 22.08.2018 14:42:27 |
iss: jwt签发者
sub: jwt所面向的用户
aud: 接收jwt的一方
exp: jwt的过期时间,这个过期时间必须要大于签发时间
nbf: 定义在什么时间之前,该jwt都是不可用的.
iat: jwt的签发时间
jti: jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击。


Dies ist eine Menge vordefinierter Deklarationen, die nicht verpflichtend sind, aber empfohlen werden, um eine nützliche, interoperable Menge von Deklarationen bereitzustellen. Einige davon sind: ISS (Aussteller), Exp (Verfallszeit), Sub (Thema), Aud (Publikum) usw.

https://jwt.io/introduction/


 Vermieter| Veröffentlicht am 27.04.2021 10:59:48 |
Header (nach Base64)
Nutzlast (nach Base64)
Geheimnis

Der base64-String ist kleiner als ein Vielfaches von 4, und du musst füllen =
 Vermieter| Veröffentlicht am 21.01.2022 17:09:52 |
"iat" = > 1356999524, #token发布时间
"exp" = > 1556999524, #token过期时间
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