我正在测试基于JWT令牌安全性的实现,这是基于下面的文章。我已经成功地从测试服务器接收到令牌。我不知道如何有Chrome邮差REST客户端程序在头发送令牌。
我的问题如下:
1)我是否使用了正确的头名称和/或POSTMAN接口?
2)我需要base64编码令牌吗?我觉得我可以把代币寄回去。
我正在测试基于JWT令牌安全性的实现,这是基于下面的文章。我已经成功地从测试服务器接收到令牌。我不知道如何有Chrome邮差REST客户端程序在头发送令牌。
我的问题如下:
1)我是否使用了正确的头名称和/或POSTMAN接口?
2)我需要base64编码令牌吗?我觉得我可以把代币寄回去。
当前回答
如果你希望使用邮差,正确的方法是使用标题
关键:授权
取值:JWT {token}
就这么简单。
其他回答
标题上的x-access令牌适合我。
key: x-access-token
value: token
我在这个问题上补充了一个有趣的小技巧,可以帮助你们测试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测试自动化
对于请求头名称,只需使用授权。 将持票人置于令牌前。我刚试过了,对我很管用。
授权:承载TOKEN_STRING
JWT的每个部分都是一个base64url编码的值。
在邮差最新版本(7++)中,授权中可能没有承载字段 点击Header标签
选择密钥为授权,并在值中写入JWT
不知怎么的,邮递员不适合我。 我不得不使用一个名为rest的chrome扩展。