誰能告訴我為什么以下(來自https://github.com/dgrijalva/jwt-go)示例不起作用?token, err := jwt.Parse(myToken, func(token *jwt.Token) ([]byte, error) { return myLookupKey(token.Header["kid"])})if err == nil && token.Valid { deliverGoodness("!")} else { deliverUtterRejection(":(")}我收到一條錯誤消息 cannot use func literal (type func(*jwt.Token) ([]byte, error)) as type jwt.Keyfunc in argument to jwt.Parse我嘗試使用來自幾個不同 jwt-go 示例的代碼,但總是以同樣的錯誤告終。
2 回答

蝴蝶刀刀
TA貢獻1801條經驗 獲得超8個贊
函數Parse期望
type Keyfunc func(*Token) (interface{}, error)
您需要 return interface{},而不是byte[]在您的函數文字中。
(也許使用 abyte.Buffer來包裝byte[],然后您可以閱讀“將任意 Golang 接口轉換為字節數組”)
Gert Cuykens在第36 期的評論中指出:commit e1571c8應該更新了示例。
其他像這個要點的例子也需要更新。
- 2 回答
- 0 關注
- 291 瀏覽
添加回答
舉報
0/150
提交
取消