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的页面

在这里输入图像说明