【发布时间】:2020-01-16 19:57:45
【问题描述】:
我遇到了一个问题。我从未使用过 OAuth 2.0 身份验证,现在我正在尝试使用 OAuth 2.0 身份验证进行 API 调用。 好吧,我已经使用 Postman 进行了调用,但现在我想将其自动化。我的意思是,我想在变量中获取一个令牌,并且在每次新调用之后我都想生成新的访问令牌。
我已经做了一些事情,但我仍然收到回复说:“授权失败”。 我在 Pre-requrest Scripts 集合中写了这个:
let tokenUrl = 'tokenUrl';
let clientId = 'clientId';
let clientSecret = 'secret';
let scope = 'scope'
let getTokenRequest = {
method: 'GET',
url: tokenUrl,
auth: {
type: "basic",
basic: [
{ key: "username", value: clientId },
{ key: "password", value: clientSecret }
]
},
body: {
mode: 'formdata',
formdata: [
{ key: 'grant_type', value: 'client_credentials' },
{ key: 'scope', value: scope }
]
}
};
pm.sendRequest(getTokenRequest, (err, response) => {
let jsonResponse = response.json(),
newAccessToken = jsonResponse.access_token;
console.log({ err, jsonResponse, newAccessToken })
pm.environment.set('accessToken', newAccessToken);
pm.variables.set('accessToken', newAccessToken);
});
之后,当我添加一个新请求并在授权类型中我选择从父级继承身份验证并尝试发送请求时,它给了我一个响应:“授权失败”
P.S:这是源网站,我从这里获取了一个脚本:https://marcin-chwedczuk.github.io/automatically-generate-new-oauth2-tokens-when-using-postman
【问题讨论】:
标签: api oauth oauth-2.0 automation postman