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

我的问题如下:

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

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


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

授权:承载TOKEN_STRING

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


如果有用的话,这里有一张图片:)

更新:

邮差团队在“授权标签”中增加了“不记名令牌”:


我在这个问题上补充了一个有趣的小技巧,可以帮助你们测试JWT api。

其实很简单。

当你登录时,在你的Api(登录端点)中,你会立即收到你的令牌,正如@mick-cullen所说,你必须在你的头部使用JWT作为:

Authorization: Bearer TOKEN_STRING

现在,如果你想自动化或只是让你的生活更简单,你可以将令牌保存为全局,你可以在所有其他端点上调用:

Authorization: Bearer {{jwt_token}}

邮差: 然后在postman中创建一个全局变量jwt_token = TOKEN_STRING。

在登录端点上: 为了使它有用,在测试选项卡的开头添加:

var data = JSON.parse(responseBody);
postman.clearGlobalVariable("jwt_token");
postman.setGlobalVariable("jwt_token", data.jwt_token);

我猜你的api在响应上返回令牌作为json: {"jwt_token":"TOKEN_STRING"},可能会有一些变化。

在第一行中,您将响应添加到数据变量。 清洁你的全球 并赋值。

现在您在全局变量上有了令牌,这使得在所有端点上使用Authorization: holder {{jwt_token}}变得很容易。

希望这条建议能有所帮助。


编辑 阅读材料

关于Postman的测试:测试示例

命令行:Newman

CI:与Jenkins集成

不错的博文:掌握api测试自动化


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

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

我最终通过使用:

Authorization: jwt <token>

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


不知怎么的,邮递员不适合我。 我不得不使用一个名为rest的chrome扩展。


我按照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}}


下面是如何自动设置令牌

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

对于已验证的页面


对于使用wordpress插件高级访问管理器打开JWT身份验证的人。

Header字段应该是Authentication而不是Authorization

AAM在他们的文档中提到过,

注意!AAM不使用标准的授权标头,因为它被跳过了 大多数Apache服务器. ...


希望它能帮助到一些人!谢谢你的其他回答也帮助了我很多!!


开放的邮差。 转到“header”字段。 这里可以看到“键值”空白。 输入密钥类型“Authorization”。 值类型为“承载符(空格)your_access_token_value”。

完成了!


如果你希望使用邮差,正确的方法是使用标题

关键:授权

取值:JWT {token}

就这么简单。


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


在邮差最新版本(7++)中,授权中可能没有承载字段 点击Header标签

选择密钥为授权,并在值中写入JWT


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

key: x-access-token
value: token