gpt4 book ai didi

javascript - 如何使用 Artillery 自动生成 OAuth 2.0 token ?

转载 作者:行者123 更新时间:2023-12-05 07:17:39 24 4
gpt4 key购买 nike

我想通过 javascript 自动自动化 OAuth 2.0 token 。我有什么办法可以做到这一点并获得 token 以在火炮脚本中使用它。

对于 OAuth token 生成,我有以下详细信息:

  • 授权网址
  • 客户编号
  • 范围

这是通过客户端身份验证凭据完成的。

下面是我用来生成 token 的示例代码:

var ClientOAuth2 = require('client-oauth2')

var Auth = new ClientOAuth2({
clientId: 'ClientID',
accessTokenUri: 'https://Auth_URL/v2.0/token',
authorizationUri: 'https://Auth_URL/v2.0/authorize',
redirectUri: 'https://Auth_URL/',
scope: 'api://Scope/access_as_user'
})




Auth.owner.getToken('Username', 'password')
.then(async (user) => {
await console.log(user) //=> { accessToken: '...', tokenType: 'bearer', ... }
}).catch((e) => { console.log('error show',e); })
.finally( () => console.log('end'));

最佳答案

您可以声明您的自定义 JS 文件,该文件将在每次请求之前触发:

您的 YAML 文件可以像这里一样:

config:
target: "https://baseUrl.com"
phases:
- duration: 60
arrivalRate: 100
processor: "./customFile.js"

scenarios:
- flow:
- post:
url: "/pathInYourApi"
headers:
Content-Type: "application/json"
Accept: application/json
json: {}
beforeRequest: "beforeRequest"

然后是您的 customFile.js 脚本:

module.exports = {
beforeRequest: beforeRequest,
};

function beforeRequest(requestParams, context, ee, next) {
// Call your OAuth client, and after you obtain token you can assign it to requestParams Authorization header
// eg. requestParams.headers.Authorization = `Bearer + ${token}`

return next(); // MUST be called for the scenario to continue
}

关于javascript - 如何使用 Artillery 自动生成 OAuth 2.0 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58712212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com