JMeter - state,nonce,code GET请求中的参数

owfi6suc  于 2023-10-20  发布在  其他
关注(0)|答案(1)|浏览(157)

我正在尝试为JMeter脚本的GET请求改变状态、随机数和代码。我能够成功地生成一个50个字符的随机字符串(用于状态和随机数),并且可以生成一个格式为[8个字符]-[4个字符]-[4个字符]-[4个字符]-[12个字符]的随机字符串:其中'字符'小写字母和数字。
但是,当我将这些变量作为参数传递时,GET请求将失败。
但是,当我将每个变量的原始值从HTTPS脚本记录器硬编码到GET请求中,并将最后一个字符更改为'x'时,它确实成功了。
我将需要可变这些参数,因为我不能硬编码的每一个GET请求时,测试数百名用户。
有人有这方面的经验吗?
在用户定义的变量中变量化以下内容,并将它们传递给GET请求:
varState = ${__RandomString(50,abcdefghijklmnopqrstuvwxyz0123456789,)} varNonce = ${__RandomString(50,abcdefghijklmnopqrstuvwxyz0123456789,)} varCode = ${__RandomString(8,abcdefghijklmnopqrstuvwxyz0123456789,)}-${__RandomString(4,abcdefghijklmnopqrstuvwxyz0123456789,)}-${__RandomString(4,abcdefghijklmnopqrstuvwxyz0123456789,)}-${__RandomString(4,abcdefghijklmnopqrstuvwxyz0123456789,)}-${__RandomString(12,abcdefghijklmnopqrstuvwxyz0123456789,)}
当然,我希望这能起作用。但遗憾的是它没有。

l2osamch

l2osamch1#

你不知道OAuth flows是怎么工作的。

  1. state。根据Prevent Attacks and Redirect Users with OAuth 2.0 State Parametersstate参数用于CSRF攻击预防,因此需要从先前的响应中提取。有关详细信息,请参阅What is CSRF & How to Load Test CSRF-Protected Websites
  2. code。不清楚您所想的“代码”到底是什么,很可能也需要从以前的响应中提取,请参阅Authorization Code Grant文章以获得示例解释
  3. nonce确实是随机的,但要确保它在整个流中是相同的。请参见Nonce实施说明

相关问题