Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 58862|Atsakyti: 3

[Šaltinis] Sužinokite, kaip suprasti JWT (JSON žiniatinklio žetonus).

[Kopijuoti nuorodą]
Paskelbta 2018-05-21 15:56:52 | | | |
Įvadas į JWT: JSON Web Token (JWT) yra atviras standartas (RFC 7519), apibrėžiantis kompaktišką ir savarankišką būdą saugiai perduoti informaciją tarp šalių JSON objektuose. Šią informaciją galima patikrinti ir pasitikėti skaitmeniniais parašais. JWT gali būti pasirašyti naudojant paslaptis (naudojant HMAC algoritmą) arba naudojant RSA viešųjų / privačių raktų poras.


Kai kurie scenarijai, kai JSON žiniatinklio žetonai yra naudingi:

Tapatybės patvirtinimas:Tai yra dažniausias JWT naudojimo atvejis. Kai vartotojas prisijungs, kiekvienoje paskesnėje užklausoje bus JWT, leidžiantis vartotojui pasiekti maršrutus, paslaugas ir išteklius, kuriuos leidžia tas raktas. Vienkartinė autentifikacija yra funkcija, kuri šiandien plačiai naudojama dėl mažų pridėtinių išlaidų ir galimybės lengvai naudoti įvairiuose domenuose.

Keitimasis informacija:JSON žiniatinklio žetonai yra puikus būdas saugiai perduoti informaciją tarp šalių. Kadangi JWT galima pasirašyti, pavyzdžiui, naudojant viešųjų / privačių raktų poras, galima būti tikriems, kad siuntėjas yra tas, kuo jis teigia esąs. Be to, kadangi parašas apskaičiuojamas naudojant antraštes ir naudingąsias apkrovas, taip pat galite patikrinti, ar turinys nebuvo sugadintas.


Oficiali svetainė:Hipersaito prisijungimas matomas.

Analizuokite JWT informaciją interneteHipersaito prisijungimas matomas.



Analizuokite JWT parametrus internete  Hipersaito prisijungimas matomas.

Mano supratimas apie JWT žemiau yra klaidingas, prašau duoti man keletą patarimų

Visų pirma, šio dalyko nerekomenduojama naudoti MVC svetainėje, galite jį naudoti webapi, šio dalyko pozicionavimas yra API, o ne pakaitinės svetainės sesija!

asp.net WebAPI naudojimo pamoka:Hipersaito prisijungimas matomas.Aš neperdarysiu rato, žiūrint į tai, kas parašyta šiame straipsnyje, yra gerai.

JWT sudėtis

JWT susideda iš trijų dalių: antraštės, naudingosios apkrovos ir parašo, tarp kurių yra taškų simboliai, sudarantys xx.yy.zz formą.


Atminkite, kad pasirašytų žetonų informaciją gali perskaityti bet kas, nepaisant apsaugos nuo klastojimo. Nedėkite neskelbtinos informacijos į galiojantį JWT turinį ar antraštės elementus, nebent ji būtų užšifruota.

Pavyzdžiui:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

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

Paprastais žodžiais tariant, kiekvienas gali iššifruoti šį raktą, tačiau šios informacijos autentiškumo patikrinti negalima, tik šį raktą sugeneravęs serveris gali patikrinti autentiškumą, todėl nesaugokite jame neskelbtinos informacijos.


Čia yra problema, tai yra, jei vartotojas pakeičia slaptažodį arba vartotojui draudžiama prisijungti, kaip JWT gali išspręsti žetono galiojimą?

Mano idėja yra pridėti į guid panašią eilutę Payload skyriuje, o tada egzistuoti talpykloje, tikrinant vartotojo tapatybę, ne tik patikrinti jwt, bet ir patikrinti Payload informaciją jwt, mes galime kontroliuoti galiojimą valdydami talpyklą.







Ankstesnis:C# atvirojo kodo sistema (pakartotinis spausdinimas)
Kitą:Naudojate saugųjį naujinimo režimą ir bandėte atnaujinti
Paskelbta 2018-08-22 14:42:27 |
iss: jwt签发者
sub: jwt所面向的用户
aud: 接收jwt的一方
exp: jwt的过期时间,这个过期时间必须要大于签发时间
nbf: 定义在什么时间之前,该jwt都是不可用的.
iat: jwt的签发时间
jti: jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击。


Tai iš anksto nustatytų deklaracijų rinkinys, kuris nėra privalomas, tačiau rekomenduojamas siekiant pateikti naudingą, sąveikų deklaracijų rinkinį. Kai kurie iš jų yra: iss (emitentas), exp (galiojimo laikas), sub (tema), aud (auditorija) ir kt.

https://jwt.io/introduction/


 Savininkas| Paskelbta 2021-04-27 10:59:48 |
antraštė (po base64)
Naudingoji apkrova (po Base64)
paslaptis

base64 eilutė yra mažesnė nei 4 kartotinis, ir jums reikia užpildyti =
 Savininkas| Paskelbta 2022-01-21 17:09:52 |
"iat" = > 1356999524, #token发布时间
"exp" = > 1556999524, #token过期时间
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com