Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyahkod Token JWT dalam Go menggunakan dgrijalva/jwt-go?

Bagaimana untuk Menyahkod Token JWT dalam Go menggunakan dgrijalva/jwt-go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-10 06:05:09766semak imbas

How to Decode JWT Tokens in Go using dgrijalva/jwt-go?

Menyahkod Token JWT dengan dgrijalva/jwt-go dalam Go

Dalam Go, penyahkodan token JWT boleh dicapai menggunakan dgrijalva/jwt- pergi perpustakaan. Berikut ialah penyelesaian mudah:

Fungsi jwt.ParseWithClaims menerima antara muka jwt.Claims sebagai hujah kedua. Daripada menggunakan tuntutan berasaskan struct tersuai, pustaka menyediakan jenis jwt.MapClaims, yang mewakili perwakilan berasaskan peta bagi tuntutan.

Untuk menyahkod token, anda boleh menggunakan kod berikut:

tokenString := "<YOUR TOKEN STRING>"

claims := jwt.MapClaims{}
token, err := jwt.ParseWithClaims(tokenString, claims, func(token *jwt.Token) (interface{}, error) {
    return []byte("<YOUR VERIFICATION KEY>"), nil
})

// Handle any errors...

// Decode claims into a map
for key, val := range claims {
    fmt.Printf("Key: %v, value: %v\n", key, val)
}

Dalam kod ini:

  • tokenString mengandungi token JWT yang diterima daripada pelanggan.
  • tuntutan ialah peta yang mengandungi tuntutan yang dinyahkodkan.
  • ParseWithClaims menghuraikan token dan mengisi peta tuntutan dengan maklumat yang dinyahkod.
  • func menetapkan kunci pengesahan yang digunakan untuk memastikan mesej adalah tulen dan tidak diusik dengan.
  • fmt.Printf mencetak kunci dan nilai tuntutan yang dinyahkodkan.

Dengan mengikuti langkah ini, anda boleh berjaya menyahkod token JWT dalam aplikasi Go anda menggunakan dgrijalva/jwt -pergi perpustakaan.

Atas ialah kandungan terperinci Bagaimana untuk Menyahkod Token JWT dalam Go menggunakan dgrijalva/jwt-go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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