我正在测试基于JWT令牌安全性的实现,这是基于下面的文章。我已经成功地从测试服务器接收到令牌。我不知道如何有Chrome邮差REST客户端程序在头发送令牌。
我的问题如下:
1)我是否使用了正确的头名称和/或POSTMAN接口?
2)我需要base64编码令牌吗?我觉得我可以把代币寄回去。
我正在测试基于JWT令牌安全性的实现,这是基于下面的文章。我已经成功地从测试服务器接收到令牌。我不知道如何有Chrome邮差REST客户端程序在头发送令牌。
我的问题如下:
1)我是否使用了正确的头名称和/或POSTMAN接口?
2)我需要base64编码令牌吗?我觉得我可以把代币寄回去。
当前回答
对于使用wordpress插件高级访问管理器打开JWT身份验证的人。
Header字段应该是Authentication而不是Authorization
AAM在他们的文档中提到过,
注意!AAM不使用标准的授权标头,因为它被跳过了 大多数Apache服务器. ...
希望它能帮助到一些人!谢谢你的其他回答也帮助了我很多!!
其他回答
对于请求头名称,只需使用授权。 将持票人置于令牌前。我刚试过了,对我很管用。
授权:承载TOKEN_STRING
JWT的每个部分都是一个base64url编码的值。
如果有用的话,这里有一张图片:)
更新:
邮差团队在“授权标签”中增加了“不记名令牌”:
如果你希望使用邮差,正确的方法是使用标题
关键:授权
取值:JWT {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测试自动化
开放的邮差。 转到“header”字段。 这里可以看到“键值”空白。 输入密钥类型“Authorization”。 值类型为“承载符(空格)your_access_token_value”。
完成了!