第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 jwt-go 庫驗證 JSON Web 令牌?

如何使用 jwt-go 庫驗證 JSON Web 令牌?

Go
繁星點點滴滴 2021-12-06 16:56:43
我在 golang 中使用 jwt-go 庫,并使用HS512算法對令牌進行簽名。我想確保令牌有效并且文檔中的示例是這樣的:token, err := jwt.Parse(myToken, func(token *jwt.Token) (interface{}, error) {    return myLookupKey(token.Header["kid"])})if err == nil && token.Valid {    fmt.Println("Your token is valid.  I like your style.")} else {    fmt.Println("This token is terrible!  I cannot accept this.")}我知道這myToken是字符串令牌,并且keyFunc得到了解析的令牌,但我不明白應(yīng)該做什么myLookupKey 函數(shù)?,并且當(dāng)我將它打印到控制臺時token.Header沒有kid值,甚至認(rèn)為令牌具有所有我放進去的數(shù)據(jù),token.Valid總是假的。這是一個錯誤嗎?如何驗證令牌是否有效?
查看完整描述

1 回答

?
青春有我

TA貢獻1784條經(jīng)驗 獲得超8個贊

本keyFunc應(yīng)該返回私鑰圖書館應(yīng)使用來驗證令牌的簽名。您如何獲得此密鑰完全取決于您。


文檔中的示例顯示了jwt-go 庫提供的非標(biāo)準(zhǔn)(未在RFC 7519 中定義)附加功能。使用kid標(biāo)頭中的字段(密鑰 ID 的縮寫),客戶端可以指定令牌使用哪個密鑰進行簽名。在驗證時,您可以使用密鑰 ID 查找(可能是多個)已知密鑰之一(如何以及是否實施此密鑰查找取決于您)。


如果您不想使用此功能,請不要使用。只需從 返回一個靜態(tài)字節(jié)流,而keyFunc無需檢查令牌標(biāo)頭:


token, err := jwt.Parse(myToken, func(token *jwt.Token) (interface{}, error) {

    key, err := ioutil.ReadFile("your-private-key.pem")

    if err != nil {

        return nil, errors.New("private key could not be loaded")

    }

    return key, nil

})


查看完整回答
反對 回復(fù) 2021-12-06
  • 1 回答
  • 0 關(guān)注
  • 242 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號