如何在 Postman 中自动获取令牌
Posted
技术标签:
【中文标题】如何在 Postman 中自动获取令牌【英文标题】:How automatically getting token in Postman 【发布时间】:2018-11-27 03:45:17 【问题描述】:我使用 Postman 桌面应用程序进行 Web API 测试。我有很多控制器,每个控制器都需要一个令牌。首先我得到Bearer token
,然后将其复制到其他请求中。此令牌有时间限制。我可以自动获取令牌,然后自动将其设置为所有其他请求吗?
【问题讨论】:
liftcodeplay.com/2018/03/18/… 【参考方案1】:您可以使用 Postman 的令牌名称保存和重复使用令牌。您可以从可用的令牌列表中选择它。
许多情况之一。
-
使用凭据请求刷新令牌
使用刷新令牌获取访问令牌
使用访问令牌对 API 进行身份验证。
第 1 步有时需要我们登录到 API 提供者的接口并获取我们回调 url 的验证码。一些 API 提供者允许我们通过提供 client_secret 密钥和 client_id 作为授权标头和刷新令牌作为请求参数并将提示设置为无来覆盖它。 来自文档。
提示(可选) none 请求期间不会显示任何 UI。如果这是不可能的(例如,因为用户必须登录或同意),则会返回一个错误。
https://identityserver.github.io/Documentation/docsv2/endpoints/authorization.html
您需要了解的有关身份服务器的所有信息都在这里。
https://identityserver.github.io/Documentation/
【讨论】:
【参考方案2】:好的,我刚刚在邮递员中使用了环境。
1 - 使用令牌创建新环境。
2 - 在这样的身份验证请求之后添加测试:
var jsonData = JSON.parse(responseBody);
var token = jsonData._token;
postman.setEnvironmentVariable("token", token);
3 - 只需设置token
当然,如果您在其中一个请求中使用Pre-request Script
,您可以在请求之前设置令牌。
【讨论】:
类似的解决方案在这里详述ppolyzos.com/2016/11/20/…【参考方案3】:在邮递员的测试选项卡中为您的登录请求编写以下代码。
if(pm.response.code === 200)
pm.environment.set('authToken', pm.response.json().token)
然后编辑你的收藏并在里面设置你的env
authToken
。
【讨论】:
以上是关于如何在 Postman 中自动获取令牌的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Django 在前端获取 CSRF 令牌以及如何在 Postman 中使用它
如何使用 Postman 获取 Azure AD 刷新令牌?
求助postman 自动获取登录的 token 和 user
如果每个测试用例的标头都需要新令牌,如何使用 Postman Collection Runner 自动化 Rest apis 测试