Jadual Kandungan
Kandungan soalan
Penyelesaian
Rumah pembangunan bahagian belakang Golang Bagaimana untuk mendapatkan tarikh luput daripada token jwt in go?

Bagaimana untuk mendapatkan tarikh luput daripada token jwt in go?

Feb 14, 2024 pm 12:20 PM
Penghuraian rentetan

如何从 go 中的 jwt 令牌获取过期日期?

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)
Salin selepas log masuk

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)
}
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mendapatkan tarikh luput daripada token jwt in go? Bagaimana untuk mendapatkan tarikh luput daripada token jwt in go? Feb 14, 2024 pm 12:20 PM

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

Bagaimana untuk menggunakan fungsi parse dalam bahasa c Bagaimana untuk menggunakan fungsi parse dalam bahasa c Apr 28, 2024 pm 09:12 PM

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.

Dapatkan pasangan nilai kunci bersarang bagi permintaan x-www-form-urlencoded dalam format JSON dalam golang Dapatkan pasangan nilai kunci bersarang bagi permintaan x-www-form-urlencoded dalam format JSON dalam golang Feb 09, 2024 pm 03:15 PM

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

Bagaimana untuk menukar rentetan kepada int dalam c++ Bagaimana untuk menukar rentetan kepada int dalam c++ May 01, 2024 pm 01:27 PM

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.

Apakah maksud parse dalam java Apakah maksud parse dalam java Apr 28, 2024 pm 09:09 PM

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.

Panduan resolusi alamat fungsi biasa Golang Panduan resolusi alamat fungsi biasa Golang Apr 08, 2024 pm 02:18 PM

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 Unicode JSON kepada bahasa Cina Pemahaman mendalam tentang PHP: Kaedah pelaksanaan menukar Unicode JSON kepada bahasa Cina Mar 05, 2024 pm 02:48 PM

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

Cara menggunakan pantulan untuk mengubah suai nilai pembolehubah secara dinamik dalam golang Cara menggunakan pantulan untuk mengubah suai nilai pembolehubah secara dinamik dalam golang May 02, 2024 am 11:09 AM

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.

See all articles