空手道:签署AWS HTTP请求并将生成的标头添加到“请求标头”

时间:2019-03-07 18:43:01

标签: amazon-iam karate

我们测试的内部API需要经历对其进行签名的过程(即获取AWS Signature)并将签名的标头添加到“请求标头”,然后再执行任何CRUD操作。

可以通过AWS-SDK或使用类似https://github.com/lucasweb78/aws-v4-signer-java的东西(如果我们的测试完全用Java编写)来对请求进行签名

在空手道DSL中实现此目标的最佳方法是什么。请提出建议。

1 个答案:

答案 0 :(得分:0)

阅读文档:https://github.com/intuit/karate#http-basic-authentication-example

例如,这是您进行基本身份验证的方式:

function fn(creds) {
  var temp = creds.username + ':' + creds.password;
  var Base64 = Java.type('java.util.Base64');
  var encoded = Base64.getEncoder().encodeToString(temp.bytes);
  return 'Basic ' + encoded;
}

这里的重点是您可以插入任何Java代码。您也可以查看OAuth示例以获取更多建议:https://github.com/intuit/karate/tree/master/karate-demo/src/test/java/demo/oauth