谁能告诉我如何在JMeter中配置hawk认证过程(hawk Auth ID, hawk Auth Key,Algorithm) ?
我试图通过头管理器传递这些值,如鹰id,鹰键,算法,但它给出了未经授权的错误。所以我需要知道发送这些值的过程。
我认为对您来说最简单的方法是使用Java实现HAWK协议,从合适的JMeter的JSR223测试元素
示例步骤:
-
将hawk-core.jar及其所有依赖项放到JMeter类路径中(即"lib";JMeter安装文件夹)
-
重新启动JMeter以拾取jar
-
添加JSR223预处理器作为需要认证的HTTP请求采样器的子处理器
-
将以下代码放入"Script"面积:
def hawkClient = new com.wealdtech.hawk.HawkClient. Builder() .credentials(new com.wealdtech.hawk.HawkCredentials.Builder() .keyId("your-hawk-hey-id") .key("your-hawk-key") .algorithm(Algorithm.SHA256) .build()) .build(); def authorization = hawkClient.generateAuthorizationHeader(sampler.getUrl().toURI(), sampler.getMethod(), sampler.getArguments().getArgument(0).getValue()) vars.put('authorization', authorization)
-
在HTTP头管理器使用
${authorization}
作为授权头值