我正在测试基于JWT令牌安全性的实现,这是基于下面的文章。我已经成功地从测试服务器接收到令牌。我不知道如何有Chrome邮差REST客户端程序在头发送令牌。

我的问题如下:

1)我是否使用了正确的头名称和/或POSTMAN接口?

2)我需要base64编码令牌吗?我觉得我可以把代币寄回去。


当前回答

其他一切。参数、授权、正文、预请求脚本、测试为空,只需打开头选项卡并如图所示添加。对于GET请求也是一样的。

其他回答

对于请求头名称,只需使用授权。 将持票人置于令牌前。我刚试过了,对我很管用。

授权:承载TOKEN_STRING

JWT的每个部分都是一个base64url编码的值。

标题上的x-access令牌适合我。

key: x-access-token
value: token

我按照moplin提到的那样做了。但是在我的例子中,服务在响应头中发送JWT,作为键“授权”下的值。

Authorization →Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJpbWFsIiwiZXhwIjoxNDk4OTIwOTEyfQ.dYEbf4x5TGr_kTtwywKPI2S-xYhsp5RIIBdOa_wl9soqaFkUUKfy73kaMAv_c-6cxTAqBwtskOfr-Gm3QI0gpQ

我所做的是,在邮差中创建一个全局变量为

键- > jwt 价值——> blahblah

在登录请求->测试选项卡中,添加

postman.clearGlobalVariable("jwt");
postman.setGlobalVariable("jwt", postman.getResponseHeader("Authorization"));

在其他请求中选择Headers选项卡并给出

键- >授权 价值——> {{jwt}}

我在Flask中遇到了同样的问题,在尝试了前2个相同的解决方案(授权:承载<令牌>)后,得到了这个:

{
    "description": "Unsupported authorization type",
    "error": "Invalid JWT header",
    "status_code": 401
}

我最终通过使用:

Authorization: jwt <token>

我想这可能会为遇到同样问题的人节省一些时间。

下面是如何自动设置令牌

在您的登录/身份验证请求

对于已验证的页面