Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 58862|Vastaus: 3

[Lähde] Opi JWT:n (JSON Web Tokens) ymmärtämisestä.

[Kopioi linkki]
Julkaistu 21.5.2018 15.56.52 | | | |
Johdanto JWT:hen: JSON Web Token (JWT) on avoin standardi (RFC 7519), joka määrittelee kompaktin ja itsenäisen tavan turvallisesti siirtää tietoa osapuolten välillä JSON-objekteissa. Tämä tieto voidaan varmistaa ja luottaa digitaalisten allekirjoitusten avulla. JWT:t voidaan allekirjoittaa salaisuuksien avulla (HMAC-algoritmilla) tai RSA:n julkisen/yksityisen avainparin avulla.


Joihinkin tilanteisiin, joissa JSON Web Tokenit ovat hyödyllisiä:

Henkilöllisyyden varmistus:Tämä on yleisin tapaus, jossa JWT:t käytetään. Kun käyttäjä kirjautuu sisään, jokainen seuraava pyyntö sisältää JWT:n, joka mahdollistaa käyttäjän pääsyn kyseisen tokenin sallimiin reitteihin, palveluihin ja resursseihin. Kertakirjautuminen on nykyään laajasti käytetty ominaisuus, koska sen ylikuormitus on pieni ja sen käyttö on helppoa eri domaineilla.

Tiedonvaihto:JSON Web Tokenit ovat erinomainen tapa siirtää tietoja turvallisesti osapuolten välillä. Koska JWT:t voidaan allekirjoittaa – esimerkiksi julkisen ja yksityisen avaimen pareilla, on mahdollista olla varma, että lähettäjä on se, kuka hän väittää olevansa. Lisäksi, koska allekirjoitus lasketaan otsikoiden ja hyötykuormien avulla, voit myös varmistaa, ettei sisältöä ole manipuloitu.


Virallinen verkkosivusto:Hyperlinkin kirjautuminen on näkyvissä.

Jäsentele JWT-tietoa verkossaHyperlinkin kirjautuminen on näkyvissä.



Analysoi JWT-parametreja verkossa  Hyperlinkin kirjautuminen on näkyvissä.

Ymmärrykseni JWT:stä alla on väärä, antakaa minulle neuvoja

Ensinnäkin, tätä ei suositella käyttämään sitä MVC:n verkkosivuilla, voit käyttää sitä webapi:ssa, ja sen sijoittelu on API, ei korvaavan sivuston istunto!

asp.net WebAPI:n käyttöohje:Hyperlinkin kirjautuminen on näkyvissä.En aio tehdä pyörää uudestaan, tämän artikkelin katsominen on ihan ok.

JWT:n kokoonpano

JWT koostuu kolmesta osasta: Otsikko, Hyötykuorma ja Allekirjoitus, joiden välissä on pistesymbolit muodostaen muodon xx.yy.zz.


Huomaa, että allekirjoitettujen tokenien kohdalla tätä tietoa voi lukea kuka tahansa, huolimatta manipulointisuojasta. Älä sijoita arkaluonteisia tietoja JWT:n kelvollisiin sisältöihin tai otsikkoelementteihin, ellei ne ole salattuja.

Esimerkiksi:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

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

Yksinkertaisesti sanottuna kuka tahansa voi purkaa tämän tokenin, mutta tiedon aitoutta ei voida varmistaa; vain tokenin luonut palvelin voi varmistaa aitouden, joten arkaluonteisia tietoja ei tallenneta siihen.


Tässä on ongelma: jos käyttäjä vaihtaa salasanan tai käyttäjää kielletään kirjautumasta sisään, miten JWT voi ratkaista tokenin voimassaolon?

Oma ideani on lisätä guid-tyyppinen merkkijono Payload-osioon, ja sitten olla olemassa välimuistissa, kun varmistetaan käyttäjän henkilöllisyys, ei ainoastaan jwt:tä, vaan myös Payload-tietoja jwt:ssä, ja voimme hallita pätevyyttä ohjaamalla välimuistia.







Edellinen:C# Avoimen lähdekoodin kehys (uudelleenpainos)
Seuraava:Käytät turvallista päivitystilaa ja yritit päivittää
Julkaistu 22.8.2018 14.42.27 |
iss: jwt签发者
sub: jwt所面向的用户
aud: 接收jwt的一方
exp: jwt的过期时间,这个过期时间必须要大于签发时间
nbf: 定义在什么时间之前,该jwt都是不可用的.
iat: jwt的签发时间
jti: jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击。


Nämä ovat joukko ennalta määriteltyjä ilmoituksia, jotka eivät ole pakollisia, mutta joita suositellaan tarjoamaan hyödyllinen, yhteentoimiva joukko ilmoituksia. Joitakin niistä ovat: iss (julkaisija), exp (vanhenemisaika), sub (teema), aud (yleisö) jne.

https://jwt.io/introduction/


 Vuokraisäntä| Julkaistu 27.4.2021 10.59.48 |
Pusku (Base64:n jälkeen)
Hyötykuorma (BASE64:n jälkeen)
salaisuus

Base64-kieli on pienempi kuin 4:n monikerta, ja sinun täytyy täyttää =
 Vuokraisäntä| Julkaistu 21.1.2022 17.09.52 |
"iat" = > 1356999524, #token发布时间
"exp" = > 1556999524, #token过期时间
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com