Sample header to add API key, Signature and Payload
const headers = {
'apikey': apiKey,
'payload': payload,
'signature': signature,
};
Generate Payload and Signature
const CryptoJS = require('crypto-js');
async function generatePayloadAndSignature(secret, body) {
const timestamp = Date.now().toString();
const obj = {
body,
timestamp
};
const payload = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(obj)));
const signature = CryptoJS.enc.Hex.stringify(CryptoJS.HmacSHA512(payload, secret));
return { payload, signature };
}
Postman Pre request Script
const apiKey = ""
const secret = ""
let body;
if(pm.request.body.urlencoded){
body = pm.request.body.urlencoded.reduce((data, param) => {
data[param.key] = param.value;
return data;
}, {});
}
else if(pm.request.body.formdata){
body = pm.request.body.formdata.reduce((data, param) => {
data[param.key] = param.value;
return data;
}, {});
}
else{
body = {}
}
const timestamp = Date.now().toString()
const obj = {
body,
timestamp
}
let payload = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(obj)));
let signature = CryptoJS.enc.Hex.stringify(CryptoJS.HmacSHA512(payload, secret));
pm.request.headers.add({
key: "apiKey",
value: apiKey
});
pm.request.headers.add({
key: "payload",
value: payload
});
pm.request.headers.add({
key: "signature",
value: signature
});
AUTHENTICATION ERROR CODE