谁能告诉我为什么以下(来自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 关注
- 261 浏览
添加回答
举报
0/150
提交
取消