如何提取需要在token API中作为有效负载传递的代码和代码验证器

问题描述 投票:0回答:1

我们的应用程序使用 O-Auth2 协议进行身份验证。一旦我登录到系统,我就会看到令牌 API,它正在生成用于其他 API 的访问令牌。现在,该 API 具有包含代码和代码验证者信息的有效负载。这些代码和代码验证器值都是动态的。问题是我没有看到任何以前的 API 生成这两个值。所以我不知道如何提取值并传递到此令牌 API 的有效负载。已经与 BE 人员交谈过,他们说这些值是通过某些 Keytool 包生成的。所以我一直致力于使这些值动态化并从 JMeter 运行令牌 API。任何详细的解释将不胜感激。

jmeter performance-testing
1个回答
0
投票

代码验证器是您需要生成的东西,示例代码可以在创建代码验证器页面找到,翻译成JMeter的JSR223测试元素Groovy语言,它会是这样的:

import java.security.SecureRandom;

SecureRandom sr = new SecureRandom();
byte[] code = new byte[32];
sr.nextBytes(code);
String verifier = Base64.getUrlEncoder().withoutPadding().encodeToString(code);

log.info('code_verifier: ' + verifier)

vars.put('verifier', verifier)

然后在需要时将生成的值引用为

${verifier}

关于“代码” - 这是您需要从 response

中提取的内容
© www.soinside.com 2019 - 2024. All rights reserved.