我目前正在使用Golang应用程序。我从客户端收到JWT令牌,在Go中,我需要对该令牌进行解码并获取以下信息:用户,名称等。我正在检查可用于处理JWT的库令牌,我来到https://github.com/dgrijalva/jwt- go,但我看不到如何简单地制作所需的东西。
我有令牌,我需要将信息解码为地图或至少为json。在哪里可以找到如何做的指南?谢谢!
函数jwt.ParseWithClaims接受jwt.Claims第二个参数的接口。除了基于结构的自定义声明外,该软件包还提供map基于声明的声明,即jwt.MapClaims。因此,您只需将令牌解码为MapClaims,例如
jwt.ParseWithClaims
jwt.Claims
map
jwt.MapClaims
MapClaims
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 }) // ... error handling // do something with decoded claims for key, val := range claims { fmt.Printf("Key: %v, value: %v\n", key, val) }