JWT令牌在POSTMAN头
我正在testing基于JWT令牌的安全性的实现基于下面的文章 。 我已经成功从testing服务器收到一个令牌。 我无法弄清楚如何让Chrome POSTMAN REST客户端程序在标头中发送令牌。
我的问题如下:
1)我使用正确的标题名称和/或POSTMAN界面?
2)我是否需要对基础代码进行编码? 我以为我可以把这个令牌发回去。
对于请求标题名称只是使用授权。 在令牌之前放置持票人。 我只是试了一下,它为我工作。
授权:持票人TOKEN_STRING
JWT的每个部分都是一个base64url编码值。
这是一个图像,如果它帮助:)
我在这个问题中增加了一些有趣的提示,可以帮助你们testingJWT Apis。
其实很简单。
login时,在您的Api(login端点)中,您将立即收到您的令牌,并且@ mick-cullen表示您将不得不在头上使用JWT:
Authorization: Bearer TOKEN_STRING
现在,如果您想自动化或简化生活,您可以将标记保存为可以在其他所有端点上调用的全局标记,如下所示:
Authorization: Bearer {{jwt_token}}
在Postman上:然后在postman中创build一个全局variablesjwt_token = TOKEN_STRING。
在您的login端点上:为了使其有用,请在“testing”选项卡的开始处添加:
var data = JSON.parse(responseBody); postman.clearGlobalVariable("jwt_token"); postman.setGlobalVariable("jwt_token", data.jwt_token);
我猜你的API是响应返回标记作为json:{“jwt_token”:“TOKEN_STRING”},可能会有某种变化。
在第一行中,您将响应添加到数据varibale。 清理您的全局并分配值。
所以现在你在全局variables上有了你的令牌,在你所有的terminal上使用Authorization:Bearer {{jwt_token}}很容易。
希望这个提示有帮助。
编辑
有东西要读
关于Postman的testing : testing示例
命令行: 纽曼
CI: 与Jenkins集成
好博文: 掌握apitesting自动化
我在Flask
遇到了同样的问题,并尝试了前两个相同的解决scheme( Authorization: Bearer <token>
),并得到以下结果:
{ "description": "Unsupported authorization type", "error": "Invalid JWT header", "status_code": 401 }
我设法最终解决它通过使用:
Authorization: jwt <token>
认为这可能会为遇到同样事情的人节省一些时间。
不知何故邮递员没有为我工作。 我不得不使用名为RESTED的Chrome扩展,它确实有效。
我做了如何moplin提到。但在我的情况下,服务发送响应标题JWT,作为“授权”键下的值。
Authorization →Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJpbWFsIiwiZXhwIjoxNDk4OTIwOTEyfQ.dYEbf4x5TGr_kTtwywKPI2S-xYhsp5RIIBdOa_wl9soqaFkUUKfy73kaMAv_c-6cxTAqBwtskOfr-Gm3QI0gpQ
我做的是,在邮递员做一个全局variables
键 – >智威汤逊
值 – > blahblah
在login请求 – >testing选项卡中,添加
postman.clearGlobalVariable("jwt"); postman.setGlobalVariable("jwt", postman.getResponseHeader("Authorization"));
在其他请求中selectHeaders选项卡并给予
键 – >授权
值 – > {{JWT}}
以下是如何自动设置令牌
在您的login/身份validation请求
然后为authentication的页面