...
Parameter | Description | ||
---|---|---|---|
APP_ID | Enter the Key ID generated from AMP.
| ||
SECRET_KEY | Enter the Secret Key generated from AMP.
| ||
nonce | Enter a unique ID.
| ||
timestamp | Enter a Unix time stamp within 5 minutes of the current time. |
Code Block | ||
---|---|---|
| ||
function getPath(url) { var pathRegex = /.+?\:\/\/.+?(\/.+?)(?:#|\?|$)/; var result = url.match(pathRegex); return result && result.length > 1 ? result[1] : ''; } function getQueryString(url) { var arrSplit = url.split('?'); return arrSplit.length > 1 ? url.substring(url.indexOf('?')+1) : ''; } function getAuthHeader(httpMethod, requestUrl, requestBody) { *var APP_ID = '<use the api key id>';* *var SECRET_KEY = '<use the secret key>';* var AUTH_TYPE = 'ARMOR-PSK'; var requestPath = getPath(requestUrl).replace('https', 'http'); var queryString = getQueryString(requestUrl); if (httpMethod == 'GET' || !requestBody) { requestBody = ''; } else { requestBody = requestBody.toString(); requestBody = CryptoJS.enc.Base64.stringify(CryptoJS.SHA512(requestBody)); } var timestamp = Math.round(new Date().getTime() / 1000); var nonce = timestamp; var requestData = [APP_ID, httpMethod, requestPath, nonce, timestamp, requestBody].join(""); var mac = CryptoJS.HmacSHA512(requestData, SECRET_KEY); var signature = CryptoJS.enc.Base64.stringify(mac); var authHeader = AUTH_TYPE + ' ' + APP_ID + ':' + signature + ':' + nonce + ':' + timestamp; return authHeader; } postman.setEnvironmentVariable('hmacAuthHeader', getAuthHeader(request['method'], request['url'], request['data'])); |
...