首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JWT-GO错误4和来自另一个api url的令牌验证

JWT-GO错误4和来自另一个api url的令牌验证
EN

Stack Overflow用户
提问于 2019-09-26 06:48:45
回答 1查看 467关注 0票数 1

我正在使用golang中的包“github.com/dgrijalva/jwt”来验证api的命中。

创建jwt令牌的代码是:

代码语言:javascript
复制
token := jwt.NewWithClaims(jwt.SigningMethodHS256, &jwt.MapClaims{
        "email":      "test@example.com",
        "exp":        time.Now().Add(time.Hour * 8760).Unix(),
        "role":       "customer",
        "name":       "John Doe",
        "ip":         0.0.0.0,
        "user_agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0"
        "id":         1,
    })
tokenString, err := token.SignedString([]byte(config.SignKey))

以下是使用此令牌的步骤:

response.

  • After
  1. 第一次登录api命中,我们调用上面的方法来生成令牌,并在api
  2. 中返回这个令牌,这是另一个api的标记,它在其标头中包含了带有“”字符串的该令牌。我们解码此令牌并通过以下代码对其进行身份验证:

如果err != nil { := (200,gin.H{response“响应”:“{ err:”err:"err",msg:会话过期),则承载:= bearerToken := strings.TrimSpace(bearer1)令牌,err:= jwt.Parse(bearerToken,func(令牌*jwt.Token) (接口{},错误){返回config.SignKey,nil})。请登录到continue2.}",}) c.Abort()返回}

现在,假设令牌被解码为url:http://SOMEDOMAIN.COM/api/v1/SOMEAPI

从这个api中,我发出了另一个curl命令的格式:

代码语言:javascript
复制
"curl --header 'Ip: " + ip + "' --header 'User-Agent: " + userAgent + "' --header 'Authorization: " + token + "' 'http://SOMEDOMAIN.COM/api/v2/ANOTHERAPI'"

这个命令指向另一个不同的api,但是使用相同的凭据(如令牌)与从登录api创建的相同。

两个具有不同urls的apis都托管在同一台服务器上,但在不同的golang项目文件夹上。

现在,这个包没有对令牌进行身份验证,并给出了以下错误:

代码语言:javascript
复制
{"response":{"code":400,"api_status":10,"message":"Session Expired. Please log out and back in to continue2.","data":{"Inner":{},"Errors":4}}}

在这种情况下,我正在寻找错误代码4的含义。

有谁能解释一下Error: 4的含义是什么,为什么它在不同的api上表现得像这样?

EN

回答 1

Stack Overflow用户

发布于 2019-09-26 08:40:31

当我调查你的密码时,

您的config.SignKey被误用了,它似乎是在签名令牌时抛出[]byte

但是在解析你的标记的时候;

代码语言:javascript
复制
{return config.SignKey, nil}

您使用了默认类型,并且没有强制转换[]byte

代码语言:javascript
复制
 {return []byte(config.SignKey), nil}

我认为这就是问题所在。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58111015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档