阿里云RPA有postman的服务端API签名调用的例子吗?计算Signature的pre-request scripts。
阿里云 RPA 提供了 RESTful API 接口,可以通过 Postman 这样的工具进行服务端 API 签名调用。
以下是计算 Signature 的 pre-request scripts 代码示例:
const crypto = require('crypto');
const akId = pm.environment.get('accessKeyId');
const akSecret = pm.environment.get('accessKeySecret');
const method = request.method.toUpperCase();
const canonicalURI = encodeURI(request.url.getPath());
const canonicalQueryString = encodeURI(request.url.getQueryString());
const host = request.headers.get('Host');
const contentType = request.headers.get('Content-Type') || '';
const md5 = crypto.createHash('md5').update(request.body || '').digest('base64');
const content = method + '\n' +
contentType + '\n' +
md5 + '\n' +
'\n' +
canonicalURI + '\n' +
canonicalQueryString + '\n' +
'Host:' + host + '\n';
const hmac = crypto.createHmac('sha256', akSecret);
const signature = hmac.update(content).digest('base64');
const authorization = 'ACS ' + akId + ':' + signature;
pm.request.headers.add({
key: 'Authorization',
value: authorization
});
此脚本需要通过环境变量的方式设置 accessKeyId 和 accessKeySecret,然后在请求的 Headers 中添加 “Authorization” 头部,值为计算出的 Signature 认证内容即可。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。