首頁 > 後端開發 > Golang > 如何使用 dgrijalva/jwt-go 函式庫在 Go 中高效解碼 JWT 令牌?

如何使用 dgrijalva/jwt-go 函式庫在 Go 中高效解碼 JWT 令牌?

Barbara Streisand
發布: 2024-12-08 16:02:11
原創
380 人瀏覽過

How Can I Efficiently Decode JWT Tokens in Go Using the dgrijalva/jwt-go Library?

在Go 中解碼JWT 令牌

問:使用dgrijalva/jwt-go 解碼JWT 令牌問:使用dgrijalva/jwt-go 解碼JWT 令牌

您正在開發一個從以下位置接收JWT 令牌的Go應用程式客戶。您需要對這些令牌進行解碼以獲取用戶名等資訊。您正在使用流行的 dgrijalva/jwt-go 庫,但您不確定如何有效地完成此操作。

A:將令牌解碼為地圖或JSON

dgrijalva/jwt-go 庫提供了一種將JWT 令牌解碼為映射或JSON 的簡單方法。為此,您可以按照以下步驟操作:
  • 匯入「dgrijalva/jwt-go」庫。
  • 建立「jwt.MapClaims」類型的「claims」變數。
  • 使用「jwt.ParseWithClaims()」函數來解析令牌。將第二個參數設定為您的宣告變數。
  • 定義回呼函數作為第三個參數以提供驗證金鑰。
  • 成功解析後,您可以透過迭代宣告來存取解碼後的宣告變數作為對應。

這是範例程式碼snippet:
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
})

if err != nil {
    // Handle error
}

for key, val := range claims {
    fmt.Printf("Key: %v, value: %v\n", key, val)
}
登入後複製

此程式碼將解析JWT 令牌,使用您的驗證金鑰對其進行驗證,並將有效負載解碼為映射。然後,您可以透過迭代地圖來存取聲明。

以上是如何使用 dgrijalva/jwt-go 函式庫在 Go 中高效解碼 JWT 令牌?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板