Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 58862|Jawab: 3

[Sumber] Pelajari tentang memahami JWT (JSON Web Tokens).

[Salin tautan]
Diposting pada 21/05/2018 15.56.52 | | | |
Pengantar JWT: JSON Web Token (JWT) adalah standar terbuka (RFC 7519) yang mendefinisikan cara yang ringkas dan mandiri untuk mentransfer informasi dengan aman antar pihak dalam objek JSON. Informasi ini dapat diverifikasi dan dipercaya melalui tanda tangan digital. JWT dapat ditandatangani menggunakan rahasia (menggunakan algoritma HMAC) atau menggunakan pasangan kunci publik/pribadi RSA.


Beberapa skenario di mana Token Web JSON berguna:

Verifikasi Identitas:Ini adalah kasus paling umum menggunakan JWT. Setelah pengguna masuk, setiap permintaan berikutnya akan berisi JWT yang memungkinkan pengguna mengakses rute, layanan, dan sumber daya yang diizinkan oleh token tersebut. Single sign-on adalah fitur yang banyak digunakan saat ini karena overheadnya yang rendah dan kemampuannya untuk mudah digunakan di berbagai domain.

Pertukaran informasi:Token Web JSON adalah cara yang bagus untuk mentransfer informasi dengan aman antar pihak. Karena JWT dapat ditandatangani - misalnya menggunakan pasangan kunci publik/pribadi, dimungkinkan untuk memastikan bahwa pengirim adalah siapa yang mereka klaim. Selain itu, karena tanda tangan dihitung menggunakan header dan payload, Anda juga dapat memverifikasi bahwa konten belum dirusak.


Situs resmi:Login hyperlink terlihat.

Mengurai informasi JWT secara onlineLogin hyperlink terlihat.



Menganalisis parameter JWT secara online  Login hyperlink terlihat.

Pemahaman saya tentang JWT di bawah ini salah, tolong beri saya beberapa saran

Pertama-tama, hal ini, tidak disarankan bagi Anda untuk menggunakannya di situs web MVC, Anda dapat menggunakannya di webapi, posisi benda ini adalah API, bukan sesi situs web pengganti!

asp.net tutorial penggunaan webapi:Login hyperlink terlihat.Saya tidak akan membuat ulang roda, melihat apa yang ditulis artikel ini tidak apa-apa.

Komposisi JWT

JWT terdiri dari tiga bagian: Header, Payload, dan Signature, dengan simbol titik di antaranya untuk membentuk bentuk xx.yy.zz.


Perhatikan bahwa untuk token yang ditandatangani, informasi ini dapat dibaca oleh siapa saja, meskipun ada perlindungan gangguan. Jangan tempatkan informasi sensitif dalam konten yang valid atau elemen header JWT kecuali dienkripsi.

Misalnya:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

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

Dalam istilah awam, siapa pun dapat mendekripsi token ini, tetapi keaslian informasi ini tidak dapat diverifikasi, hanya server yang menghasilkan token ini yang dapat memverifikasi keasliannya, jadi jangan menyimpan informasi sensitif di dalamnya.


Ada masalah di sini, yaitu jika pengguna mengubah kata sandi atau pengguna dilarang masuk, bagaimana JWT dapat menyelesaikan validitas token?

Ide saya sendiri adalah menambahkan string seperti guid di bagian Payload, dan kemudian ada di cache, saat memverifikasi identitas pengguna, tidak hanya memverifikasi jwt, tetapi juga memverifikasi informasi Payload di jwt, kita dapat mengontrol validitas dengan mengontrol cache.







Mantan:C# Kerangka Kerja Sumber Terbuka (Cetak Ulang)
Depan:Anda menggunakan mode pembaruan aman dan Anda mencoba memperbarui t
Diposting pada 22/08/2018 14.42.27 |
iss: jwt签发者
sub: jwt所面向的用户
aud: 接收jwt的一方
exp: jwt的过期时间,这个过期时间必须要大于签发时间
nbf: 定义在什么时间之前,该jwt都是不可用的.
iat: jwt的签发时间
jti: jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击。


Ini adalah sekumpulan deklarasi yang telah ditentukan sebelumnya yang tidak wajib, tetapi direkomendasikan untuk menyediakan serangkaian deklarasi yang berguna dan dapat dioperasikan. Beberapa di antaranya adalah: iss (issuer), exp (waktu kedaluwarsa), sub (tema), aud (audiens), dll.

https://jwt.io/introduction/


 Tuan tanah| Diposting pada 27/04/2021 10.59.48 |
header (setelah base64)
muatan (setelah base64)
Rahasia

base64 string kurang dari kelipatan 4, dan Anda perlu mengisi =
 Tuan tanah| Diposting pada 21/01/2022 17.09.52 |
"iat" = > 1356999524, #token发布时间
"exp" = > 1556999524, #token过期时间
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com