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