我使用 Postman 桌面应用程序进行 Web API 测试。我有很多控制器,每个控制器都需要一个令牌。首先我得到
Bearer token
然后将其复制到其他请求。该令牌有时间限制。我可以自动获取令牌,然后自动将其设置为所有其他请求吗?
以下步骤:
1。在 Postman 上创建一个环境。示例:test_env
2。创建一个环境变量。示例:jwtToken
3.选择环境,进入token API
4。在 Headers 中将 Content-Type 设置为 application/json
5。转到 Postman 中的“测试”选项并编写脚本:
if(pm.response.code === 200) {
var my_token_response = JSON.parse(responseBody);
postman.setEnvironmentVariable("jwtToken", "Bearer "+my_token_response.access);
}
在邮递员的测试选项卡中为您的登录请求编写以下代码。
if(pm.response.code === 200) {
pm.environment.set('authToken', pm.response.json().token)
}
然后编辑您的收藏并将您的
env
authToken
放入其中。
您可以使用 Postman 提供的令牌名称保存并重新使用令牌。您可以从可用令牌列表中选择它。
众多案例之一是。
步骤 1 有时需要我们登录 API 提供商的接口并获取回调 url 的验证码。一些 API 提供商允许我们通过提供 client_secret 密钥和 client_id 作为授权标头、提供刷新令牌作为请求参数并将提示设置为 none 来覆盖此设置。 来自文档。
提示(可选) none 请求期间不会显示 UI。如果这是不可能的(例如,因为用户必须登录或同意),则会返回错误。
https://identityserver.github.io/Documentation/docsv2/endpoints/authorization.html
您需要了解的有关身份服务器的所有信息都在这里。
对于我来说,我每次登录都会更新令牌,这些是我进行设置的步骤:
//set token when status is 200
if(pm.response.code === 200) {
// Extract token from response body
const responseBody = pm.response.json();
const token = responseBody.data.token;
// Save token to environment variable
pm.environment.set('token', token);
}
//You can ignore this
pm.test("Response status code is 200", function () {
pm.expect(pm.response.code).to.equal(200);
});
pm.test("Token should not be empty", function () {
const responseData = pm.response.json();
pm.expect(responseData.data.token).to.not.be.empty;
});