Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 58862|Risposta: 3

[Fonte] Scopri come comprendere JWT (JSON Web Tokens).

[Copiato link]
Pubblicato su 21/05/2018 15:56:52 | | | |
Introduzione a JWT: JSON Web Token (JWT) è uno standard aperto (RFC 7519) che definisce un modo compatto e autonomo per trasferire in modo sicuro le informazioni tra parti in oggetti JSON. Queste informazioni possono essere verificate e affidabili tramite firme digitali. I JWT possono essere firmati usando segreti (usando l'algoritmo HMAC) o utilizzando le coppie di chiavi pubbliche/private di RSA.


Alcuni scenari in cui i Web Token JSON sono utili:

Verifica dell'identità:Questo è il caso più comune nell'uso dei JWT. Una volta che l'utente effettua l'accesso, ogni richiesta successiva conterrà un JWT che permette all'utente di accedere alle rotte, ai servizi e alle risorse consentite da quel token. Il single sign-on è una funzione ampiamente utilizzata oggi grazie al suo basso overhead e alla facilità di utilizzo in diversi domini.

Scambio di informazioni:I JSON Web Token sono un ottimo modo per trasferire informazioni in modo sicuro tra le parti. Poiché i JWT possono essere firmati - ad esempio usando coppie di chiavi pubbliche/private - è possibile essere sicuri che il mittente sia chi dichiara di essere. Inoltre, poiché la firma viene calcolata utilizzando intestazioni e payload, puoi anche verificare che il contenuto non sia stato manomesso.


Sito ufficiale:Il login del link ipertestuale è visibile.

Analizza le informazioni JWT onlineIl login del link ipertestuale è visibile.



Analizza i parametri JWT online  Il login del link ipertestuale è visibile.

La mia comprensione di JWT qui sotto è sbagliata, per favore datemi qualche consiglio

Prima di tutto, questa cosa non è consigliata usarla sul sito MVC, puoi usarla in webapi, il posizionamento di questa cosa è API, non una sessione del sito sostitutivo!

asp.net tutorial sull'uso di Webapi:Il login del link ipertestuale è visibile.Non rifarò la ruota, guardando come è scritto questo articolo va bene.

La composizione di JWT

JWT è composto da tre parti: Header, Payload e Signature, con simboli a punto intermedi per formare la forma xx.yy.zz.


Si noti che per i token firmati, queste informazioni possono essere lette da chiunque, nonostante la protezione contro la manomissione. Non inserire informazioni sensibili nel contenuto valido o negli elementi di intestazione del JWT a meno che non siano criptati.

Per esempio:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

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

In termini semplici, chiunque può decifrare questo token, ma l'autenticità di queste informazioni non può essere verificata, solo il server che ha generato questo token può verificarne l'autenticità, quindi non memorizzare informazioni sensibili al suo interno.


C'è un problema qui: se l'utente cambia la password o gli viene vietato accedere al login, come può JWT risolvere la validità del token?

La mia idea è aggiungere una stringa simile a un guid-like nella sezione Payload, e poi esistere nella cache; quando si verifica l'identità dell'utente, non solo verificare il jwt, ma anche le informazioni del payload nel jwt, possiamo controllare la validità controllando la cache.







Precedente:Framework Open Source C# (Ristampa)
Prossimo:Stai usando la modalità aggiornamento provviso e hai provato ad aggiornare un
Pubblicato su 22/08/2018 14:42:27 |
iss: jwt签发者
sub: jwt所面向的用户
aud: 接收jwt的一方
exp: jwt的过期时间,这个过期时间必须要大于签发时间
nbf: 定义在什么时间之前,该jwt都是不可用的.
iat: jwt的签发时间
jti: jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击。


Si tratta di un insieme di dichiarazioni predefinite che non sono obbligatorie, ma raccomandate per fornire un insieme utile e interoperabile di dichiarazioni. Alcuni di questi sono: ISS (emittente), exp (tempo di scadenza), sub (tema), aud (pubblico), ecc.

https://jwt.io/introduction/


 Padrone di casa| Pubblicato su 27/04/2021 10:59:48 |
Testa (dopo base64)
Carico utile (dopo Base64)
segreto

la stringa base64 è minore di un multiplo di 4, e devi riempire =
 Padrone di casa| Pubblicato su 21/01/2022 17:09:52 |
"iat" = > 1356999524, #token发布时间
"exp" = > 1556999524, #token过期时间
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com