如何在 Go 中未经验证的情况下从 JWT 令牌中获取声明

How to get to get claims from JWT token without validation in Go

我有一个具有以下声明的 JWT 令牌

{
  "authorized": true,
  "email": "sample@gmail.com",
  "exp": 1589929351,
  "node": "/auth/nodes0000000023",
  "role": "admin"
}

JWT 的发行者是claims['node']。在上面的声明中它是/auth/nodes0000000023。 如何在不验证令牌的情况下从令牌中提取发行者。 我想获取发行者名称,以便我可以从 map 中找到他的 publicKey,然后验证令牌。

我在文档中找到了函数 func (*Parser) ParseUnverified,但不清楚如何使用它。

使用的库是github.com/dgrijalva/jwt-go

您可以像使用已验证的 API 一样使用未验证的解析 API:

tok,_,err := p.ParseUnverified(tokenString,&claimsStruct)