Mic*_*len 265
对于请求标题名称,只需使用授权.在令牌之前放置承载者.我刚试了一下,它对我有用.
授权:持票人TOKEN_STRING
JWT的每个部分都是base64url编码值.
Pab*_*ios 40
我在这个问题中添加了一个有趣的提示,可以帮助你们测试JWT Apis.
它实际上非常简单.
当您登录时,在您的Api(登录端点)中,您将立即收到您的令牌,并且正如@ mick-cullen所说,您必须在标头上使用JWT:
Authorization: Bearer TOKEN_STRING
Run Code Online (Sandbox Code Playgroud)
现在,如果您希望自动化或只是让您的生活更轻松,您可以将测试保存为全局,您可以在所有其他端点上调用:
Authorization: Bearer {{jwt_token}}
Run Code Online (Sandbox Code Playgroud)
在Postman上:然后在postman中创建一个全局变量为jwt_token = TOKEN_STRING.
在您的登录端点上:要使其有用,请在"测试"选项卡的开头添加:
var data = JSON.parse(responseBody);
postman.clearGlobalVariable("jwt_token");
postman.setGlobalVariable("jwt_token", data.jwt_token);
Run Code Online (Sandbox Code Playgroud)
我猜你的api将响应中的令牌作为json返回为:{"jwt_token":"TOKEN_STRING"},可能存在某种变化.
在第一行,您将响应添加到数据varibale.清理全局并分配值.
所以现在你在全局变量上有你的令牌,这使你在所有端点上使用Authorization:Bearer {{jwt_token}}变得容易.
希望这个提示有所帮助
编辑
需要阅读的内容
命令行:纽曼
CI:与Jenkins整合
好博文:掌握api测试自动化
Flask在尝试前两个相同(Authorization: Bearer <token>)的解决方案之后,我遇到了同样的问题,并得到了这个:
{
"description": "Unsupported authorization type",
"error": "Invalid JWT header",
"status_code": 401
}
Run Code Online (Sandbox Code Playgroud)
我设法最终通过使用:
Authorization: jwt <token>
Run Code Online (Sandbox Code Playgroud)
认为它可以为遇到同样事情的人节省一些时间.
其他一切即。Params、Authorization、Body、Pre-request Script、Tests为空,只需打开Headers选项卡并添加,如图所示。GET 请求也是如此。
| 归档时间: |
|
| 查看次数: |
194369 次 |
| 最近记录: |