Jmeter钥匙斗篷授权代码



我目前正在尝试用密钥斗篷授权加载测试一个网站。问题是,我在以前的https请求中找不到授权代码,所以我不能使用正则表达式提取器来获取它并将其转换为动态变量。那么,我该如何将其配置为动态的呢?火焰计记录的水平化代码

我已经将sessioncode、tab_id和executive转换为动态变量,但它仍然返回"{"error":"invalid_grant","errordescription":"Code not valid"};

根据授权代码流:

  1. 浏览器访问应用程序。应用程序注意到用户没有登录,因此它将浏览器重定向到要进行身份验证的Key斗篷。应用程序传递一个回调URL(重定向URL(作为浏览器重定向中的查询参数,Key斗篷将在完成身份验证时使用该参数
  2. Keycloft对用户进行身份验证,并创建一个一次性的、寿命很短的临时代码。Key斗篷使用前面提供的回调URL重定向回应用程序,并在回调URL中添加临时代码作为查询参数
  3. 该应用程序提取临时代码,并对Key斗篷进行后台带外REST调用,以将代码交换为身份、访问和刷新令牌。一旦这个临时代码被用于获取令牌一次,就再也不能使用了。这样可以防止潜在的重放攻击

我的期望是,您不会在任何地方看到代码,因为代码是通过重定向URL从keycapture传递到应用程序的。

因此,您不需要要求key斗篷将重定向与临时代码一起发送回应用程序,而是需要要求它将请求发送到JMeter并通过HTTP镜像服务器捕获它,一旦请求到达JMeter,您应该能够使用正则表达式提取器或边界提取器从Location标头获取临时代码。

最新更新