我收到响应数据错误“资源所有者或授权服务器拒绝请求”

时间:2017-05-01 13:24:27

标签: jmeter

我的应用程序正在进行誓言身份验证,因此记录的特定测试脚本失败。我已经在登录响应数据中分析并找到了令牌详细信息

{"access_token":"EsDRTzicGpSjaj8xcdEFBQ8aHbTt6btVW35Y4scQ","token_type":"Bearer","expires_in":28800,"refresh_token":"XhpFEDvCrGhwz9J4lPkRd0MMfQqUiW7j0zmbcPGr"}

Scenario1: 因此,在采样器下方的HTTP标头管理器中添加了授权:Bearer $ {BEARER},并通过以下消息执行了TC失败

{"error":"access_denied","error_description":"The resource owner or authorization server denied the request."}

场景2: 如果我没有在HTTP标头管理器中添加授权:Bearer $ {BEARER},请获取以下消息

{"error":"invalid_request","error_description":"The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter."}

需要知道哪一个是正确的以及如何克服这个问题

2 个答案:

答案 0 :(得分:2)

Please follow as per the image

  1. 使用Name:Prefixvalue:Bearer
  2. 在测试计划下方声明变量
  3. 使用引用名称&添加正则表达式Extractor。采样器下面的表达
  4. 添加调试采样器以识别令牌并运行测试计划

答案 1 :(得分:0)

  1. 根据The OAuth 2.0 Authorization Framework: Bearer Token Usage规范,您必须在return false;和令牌值之间有空格键

    Bearer
  2. OAuth令牌不是您可以记录和重放的内容,需要使用特定的过程获取该值,该过程可能因OAuth版本和实现而异。查看How to Run Performance Tests on OAuth Secured Apps with JMeter指南,了解有关如何在JMeter测试中获取OAuth令牌的更多信息。