JMeter:auth2.0认证流程(B2C架构)
Posted
技术标签:
【中文标题】JMeter:auth2.0认证流程(B2C架构)【英文标题】:JMeter: auth2.0 Authentication Process (B2C Architecture) 【发布时间】:2020-12-06 22:39:39 【问题描述】:步骤:
-
点击网站 - 它被重定向到包含动态参数的 URL,例如状态、随机数和客户端请求 ID。
因此,在 JMeter 中,我无法获取这些值,因为它们直接来自 HTTP 请求。 任何想法,如何获取它?
-
单击使用凭据登录时,正在发生身份验证过程,该过程正在生成令牌 ID。
然后在下一个请求中,发生重定向并实现相同类型的 URL(如步骤 1 中)。再次传递相同的参数。
并通过此请求生成访问令牌。
我无法获取这些参数(随机数、状态、客户端请求 ID)。有什么我们可以做的吗?
【问题讨论】:
【参考方案1】:According to Microsoft,client-request-id 是可选的(所以你可以不使用它),如果我读到这个权限是由客户端生成的。所以你也许可以generate a random GUID in JMeter。
【讨论】:
【参考方案2】:是的,你是对的,但就我而言,我没有得到任何子采样器。 这就是麻烦所在! 此外,这些参数来自托管网站的第 3 方(不在开发人员手中).. 我正在做的整个过程是为了负载测试。 那么,您想为此添加什么?
【讨论】:
你有没有得到这个答案...?我遇到了同样的问题。 @shahbaz 是的,我将那些动态变化的参数留空。在发送请求时,参数会在服务器级别更新,从而获取访问令牌。虽然您不会在请求部分看到这些值是什么。【参考方案3】:如果您将redirected 指向包含您要查找的参数的 URL,您应该能够从 sub-sampler 捕获它们
使用合适的Post-Processor,例如Regular Expression Extractor
还有一些像消费者密钥这样的值是静态的,永远不会改变,像nonce这样的一些值是随机的
如果您不需要对 OAuth 登录挑战本身进行负载测试,您可以要求开发人员或管理员为您提供一个永久令牌,您可以使用 HTTP Header Manager 在 Authorization 标头中发送该令牌
【讨论】:
以上是关于JMeter:auth2.0认证流程(B2C架构)的主要内容,如果未能解决你的问题,请参考以下文章