


Bagaimana untuk mendapatkan tarikh luput daripada token jwt in go?
Dalam bahasa Go, token JWT ialah mekanisme pengesahan biasa. Untuk mendapatkan tarikh tamat tempoh daripada token JWT, kami boleh menggunakan pustaka pihak ketiga "github.com/dgrijalva/jwt-go" untuk menghuraikan muatan token. Mula-mula, kita perlu menghuraikan rentetan token ke dalam objek jwt.Token, dan kemudian kita boleh mendapatkan tarikh tamat tempoh dengan mengakses medan Token.Claims["exp"]. Nilai medan ini ialah cap waktu Unix, yang boleh ditukar kepada jenis masa menggunakan fungsi masa.Unix. Dengan cara ini, kita boleh mendapatkan tarikh tamat tempoh token JWT dengan mudah.
Kandungan soalan
Saya mempunyai token jwt dan saya boleh melihat token yang dinyahkod di laman web https://jwt.io/
. Ia tidak memerlukan saya untuk menetapkan sebarang rahsia atau tuntutan. Jadi saya sedang mencari cara untuk menyahkod token untuk mendapatkan tarikh luput tanpa memberikan sebarang rahsia.
Saya menggunakan perpustakaan ngopkg.in/square/go-jose.v2/jwt
dan di bawah ialah kod saya:
token, err := jwt.ParseSigned(jwtToken)
Nilai pulangan token
Terdapat medan pengepala yang merangkumi keyid, algoritma tetapi ia tidak memberi saya tarikh luput.
Saya mencari topik ini dan orang berkata untuk menggunakan github.com/auth0/go-jwt-middleware/v2/validator
库,但它需要设置密钥/秘密。解析令牌的过期日期是否需要秘密。 网站https://jwt.io/
Bagaimana untuk mengetahui tarikh luput?
Penyelesaian
Menggunakan contoh token jwt dari jwt.io, Kod ini menghuraikan dan mendapatkan semula tuntutan tanpa tandatangan yang disahkan:
func main() { raw := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" t, err := jwt.ParseSigned(raw) if err != nil { panic(err) } var claims map[string]any if err := t.UnsafeClaimsWithoutVerification(&claims); err != nil { panic(err) } fmt.Println(claims) }
Dalam contoh ini, masa tamat tempoh sepatutnya muncul sebagai claims
映射中的字段之一。要检索它,请使用 exp, ok := claims["expire"]
(bergantung pada nama sebenar).
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan tarikh luput daripada token jwt in go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Saya mempunyai token jwt dan saya boleh melihat token yang dinyahkod di laman web https://jwt.io/. Ia tidak memerlukan saya untuk menetapkan sebarang rahsia atau tuntutan. Jadi saya sedang mencari cara untuk menyahkod token untuk mendapatkan tarikh luput tanpa memberikan sebarang rahsia. Saya menggunakan perpustakaan ngopkg.in/square/go-jose.v2/jwt, di bawah ialah kod saya: token,err:=jwt.ParseSigned(jwtToken) token nilai pulangan mempunyai medan pengepala yang merangkumi keyid, algoritma, Tetapi ia tidak memberi saya tarikh luput. Saya telah mencari topik ini dan orang berkata menggunakan github.com/a

Fungsi parse menghuraikan rentetan, menukarnya menjadi senarai token yang dipisahkan oleh pembatas. Langkah: 1. Cari aksara bukan pembatas pertama dari permulaan rentetan 2. Teruskan mencari sehingga pembatas ditemui dan tamatkan rentetan pada pembatas itu 3. Simpan token dalam tatasusunan token; 1-3 sehingga penghujung rentetan 5. Tambahkan penunjuk ke NULL di hujung tatasusunan untuk menunjukkan penghujung tatasusunan.

Saya mempunyai kes penggunaan di mana kita mendapat nilai kunci bersarang dalam badan x-www-form-urlencoded seperti di bawah name=abc&age=12¬es[key1]=value1¬es[key2]=value2 Saya cuba url.parsequery("name= abc&age=12¬es \[key1\]=value1¬es\[key2\]=value2") tetapi ia memberikan {"name":"abc","age":12,"notes[key1]":"value1", "note

Dalam C++, terdapat dua cara untuk menukar rentetan kepada int: menggunakan fungsi sto i(), yang menerima rentetan secara terus dan mengembalikan integer. Gunakan kelas isringstream untuk menghuraikan rentetan ke dalam aliran input dan mengekstrak integer. Kaedah yang dipilih bergantung pada format rentetan: stoi() adalah lebih ringkas jika formatnya tidak jelas dan tidak mempunyai aksara bukan angka adalah lebih fleksibel jika rentetan mungkin mengandungi aksara bukan angka atau memerlukan penukaran tersuai.

Parse dalam Java merujuk kepada proses menukar rentetan atau perwakilan lain kepada jenis atau objek tertentu. Aplikasi biasa termasuk menukar rentetan kepada jenis angka, objek tarikh/masa, objek JSON dan mengekstrak data daripada dokumen XML. Menghuraikan melalui kaedah terbina dalam, kelas pemformat atau perpustakaan pihak ketiga.

Fungsi utama untuk menghuraikan alamat dalam bahasa Go termasuk: net.ParseIP(): Menghuraikan alamat IPv4 atau IPv6. net.ParseCIDR(): Parse teg CIDR. net.ResolveIPAddr(): Selesaikan nama hos atau alamat IP ke dalam alamat IP. net.ResolveTCPAddr(): Selesaikan nama hos dan port ke alamat TCP. net.ResolveUDPAddr(): Selesaikan nama hos dan port ke alamat UDP.

Pemahaman mendalam tentang PHP: Kaedah pelaksanaan menukar JSONUnicode kepada Bahasa Cina Semasa pembangunan, kami sering menghadapi situasi di mana kami perlu memproses data JSON dan pengekodan Unicode dalam JSON akan menyebabkan kami beberapa masalah dalam beberapa senario, terutamanya apabila kami perlu menukar Unicode Apabila pengekodan ditukar kepada aksara Cina. Dalam PHP, terdapat beberapa kaedah yang boleh membantu kami mencapai proses penukaran ini Kaedah biasa akan diperkenalkan di bawah dan contoh kod khusus akan disediakan. Mula-mula, mari kita fahami dulu Un dalam JSON

Refleksi bahasa Go membolehkan anda memanipulasi nilai pembolehubah pada masa jalan, termasuk mengubah suai nilai Boolean, integer, nombor titik terapung dan rentetan. Dengan mendapatkan Nilai pembolehubah, anda boleh memanggil kaedah SetBool, SetInt, SetFloat dan SetString untuk mengubah suainya. Sebagai contoh, anda boleh menghuraikan rentetan JSON ke dalam struktur dan kemudian menggunakan refleksi untuk mengubah suai nilai medan struktur. Perlu diingatkan bahawa operasi pantulan adalah perlahan dan medan yang tidak boleh diubah suai tidak boleh diubah suai Apabila mengubah nilai medan struktur, medan yang berkaitan mungkin tidak dikemas kini secara automatik.
