Access Token

Pre-request Script Example

var CryptoJS = require("crypto-js");
var moment = require("moment");
var navigator = {}; //fake a navigator object for the lib
var window = {}; //fake a window object for the lib
eval(postman.getGlobalVariable("jsrsasign-js")); //import javascript jsrsasign

const clientId = pm.environment.get("X-PARTNER-ID");
const privateKey = pm.environment.get("private_key");
signRequest(privateKey, clientId)

function signRequest(privateKey, clientId) {

    const date = new Date().toISOString();
    const dateIso = moment(date).format('YYYY-MM-DDTHH:mm:ssZ') 
    
    console.log('date: ' + dateIso);
    const data = `${clientId}|${dateIso}`
    console.log('stringtosign: ' + data);
    
    console.log("Private Key: " + privateKey);
    var signatureLib = new KJUR.crypto.Signature({"alg": "SHA256withRSA"});
    signatureLib.init(privateKey);
    signatureLib.updateString(data);
    var signatureHash = hextob64(signatureLib.sign());
    console.log("Signature: " + signatureHash);

    pm.request.headers.add({
        key: 'X-SIGNATURE',
        value: signatureHash
    }); //to generate X-SIGNATURE

    pm.request.headers.add({
        key: 'X-TIMESTAMP',
        value: dateIso
    }); //to generate X-TIMESTAMP

    pm.request.headers.add({
        key: 'X-CLIENT-KEY',
        value: clientId
    }); //to generate X-CLIENT-KEY
}

Post-response Script

var response = pm.response.json();
console.log("ACCESS_TOKEN : " + response.accessToken);
pm.globals.set('ACCESS_TOKEN', response.accessToken);

Full Documentation

Click here to see the full API documentation.

Last updated

Was this helpful?