· 5 years ago · Dec 01, 2020, 03:22 PM
1var uuid = require('uuid');
2var moment = require("moment")
3
4var AppId = "<UUID GOES HERE>";
5var APIKey = "<API KEY GOES HERE>";
6var requestURI = encodeURIComponent(pm.environment.values.substitute(pm.request.url, null, false).getRaw()).toLowerCase();
7var requestMethod = pm.request.method;
8var requestTimeStamp = moment(new Date().toUTCString()).valueOf() / 1000;
9var nonce = uuid.v4();
10var requestContentBase64String = "";
11
12if (pm.request.body) {
13 var md5 = CryptoJS.MD5(pm.request.body.toString());
14 requestContentBase64String = CryptoJS.enc.Base64.stringify(md5);
15}
16
17var signatureRawData = AppId + requestMethod + requestURI + requestTimeStamp + nonce + requestContentBase64String; //check
18var signature = CryptoJS.enc.Utf8.parse(signatureRawData);
19var secretByteArray = CryptoJS.enc.Base64.parse(APIKey);
20var signatureBytes = CryptoJS.HmacSHA256(signature,secretByteArray);
21var requestSignatureBase64String = CryptoJS.enc.Base64.stringify(signatureBytes);
22
23var hmacKey = "amx " + AppId + ":" + requestSignatureBase64String + ":" + nonce + ":" + requestTimeStamp;
24postman.setEnvironmentVariable("hmacKey", hmacKey);