· 7 years ago · Jan 21, 2019, 02:38 PM
1function parseParams(params) {
2 var result = "";
3 for (var key in params) {
4 if (result !== '') {
5 result += "&";
6 }
7 result += encodeURI(key) + "=" + encodeURIComponent(params[key]);
8 }
9 result = alphabetical_sort(result);
10 return result.replace('%20', '+');
11}
12
13function alphabetical_sort(str) {
14 var params_arr = str.split('&');
15 return params_arr.sort().join('&');
16}
17
18function generateAuthSign(request, secret) {
19 if (request.method == 'GET' || !request.data) {
20 request.data = '';
21 } else {
22 request.data = parseParams(request.data);
23 }
24
25 var requestData = [request.url, request.data].join('');
26 return CryptoJS.HmacSHA512(requestData, secret).toString();
27}
28
29SECRET_KEY = pm.request.headers.find(header => header.key == 'Secret').value;
30pm.globals.set("SIGN", generateAuthSign(request, SECRET_KEY));