Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 58862|Odpowiedź: 3

[Źródło] Dowiedz się, jak zrozumieć JWT (JSON Web Tokens).

[Skopiuj link]
Opublikowano 21.05.2018 15:56:52 | | | |
Wprowadzenie do JWT: JSON Web Token (JWT) to otwarty standard (RFC 7519), który definiuje zwarty i samodzielny sposób bezpiecznego przesyłania informacji między stronami w obiektach JSON. Informacje te można zweryfikować i zaufać za pomocą podpisów cyfrowych. JWT mogą być podpisywane za pomocą sekretów (algorytmu HMAC) lub za pomocą par klucza publicznego/prywatnego RSA.


Kilka scenariuszy, w których JSON Web Tokens są przydatne:

Weryfikacja tożsamości:To najczęstszy przypadek stosowania JWT. Po zalogowaniu się użytkownik każde kolejne żądanie zawiera JWT, który pozwala użytkownikowi uzyskać dostęp do tras, usług i zasobów dozwolonych przez ten token. Single log-on to funkcja szeroko stosowana dziś ze względu na niskie koszty pracy i łatwe korzystanie w różnych dziedzinach.

Wymiana informacji:Tokeny internetowe JSON to świetny sposób na bezpieczne przesyłanie informacji między stronami. Ponieważ JWT mogą być podpisane – na przykład przy użyciu par klucza publicznego/prywatnego, można mieć pewność, że nadawca jest tym, za kogo się podaje. Dodatkowo, ponieważ sygnatura jest obliczana za pomocą nagłówków i ładunków, możesz również sprawdzić, czy treść nie została zmieniona.


Oficjalna strona internetowa:Logowanie do linku jest widoczne.

Analizuj informacje JWT onlineLogowanie do linku jest widoczne.



Analizuj parametry JWT online  Logowanie do linku jest widoczne.

Moje rozumienie JWT poniżej jest błędne, proszę o radę

Przede wszystkim, nie zaleca się używania tego urządzenia na stronie MVC, możesz używać jej na Webapi, a lokalizacja tego urządzenia to API, a nie sesja na stronie zastępczej!

asp.net tutorialu korzystania z webAPI:Logowanie do linku jest widoczne.Nie będę przerabiał koła, patrząc na to, co jest napisane w tym artykule, jest w porządku.

Skład JWT

JWT składa się z trzech części: Nagłówka, Ładunku i Sygnatury, z symbolami kropek pomiędzy nimi, tworząc formę xx.yy.zz.


Należy zauważyć, że w przypadku podpisanych tokenów te informacje mogą być odczytane przez każdego, mimo ochrony przed manipulacją. Nie umieszczaj wrażliwych informacji w ważnych elementach treści lub nagłówków JWT, chyba że są one szyfrowane.

Na przykład:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

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

Mówiąc prosto, każdy może odszyfrować ten token, ale autentyczność tych informacji nie może być zweryfikowana, jedynie serwer, który go wygenerował, może zweryfikować autentyczność, więc nie przechowuj w nim wrażliwych informacji.


Jest tu problem, a mianowicie, jeśli użytkownik zmieni hasło lub nie może się zalogować, jak JWT może rozwiązać ważność tokena?

Mój własny pomysł to dodanie łańcucha podobnego do guidu w sekcji Payload, a następnie istnienie w pamięci podręcznej, podczas weryfikacji tożsamości użytkownika, nie tylko weryfikacji jwt, ale także informacji o ładunku w jwt, możemy kontrolować jego ważność poprzez kontrolę pamięci podręcznej.







Poprzedni:C# Open Source Framework (wznowienie)
Następny:Używasz trybu bezpiecznej aktualizacji i próbowałeś zaktualizować
Opublikowano 22.08.2018 14:42:27 |
iss: jwt签发者
sub: jwt所面向的用户
aud: 接收jwt的一方
exp: jwt的过期时间,这个过期时间必须要大于签发时间
nbf: 定义在什么时间之前,该jwt都是不可用的.
iat: jwt的签发时间
jti: jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击。


Są to zestawy z góry zdefiniowanych deklaracji, które nie są obowiązkowe, ale zalecane do zapewnienia użytecznego, interoperacyjnego zestawu deklaracji. Niektóre z nich to: iss (wydawca), exp (czas ważności), sub (motyw), aud (odbiorca) itd.

https://jwt.io/introduction/


 Ziemianin| Opublikowano 27.04.2021 10:59:48 |
Nagłówek (po base64)
Ładunek (po Base64)
sekret

string base64 jest mniejszy niż wielokrotność 4, a musisz wypełnić =
 Ziemianin| Opublikowano 21.01.2022 17:09:52 |
"iat" = > 1356999524, #token发布时间
"exp" = > 1556999524, #token过期时间
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com