| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 1x 1x 1x 1x 1x 1x 1x 1x | const Crypto = require('crypto');
const AddMinutes = require('./add-minutes');
function GenerateSignature(key, _opts) {
const opts = {
..._opts,
"expireAt": AddMinutes(new Date(), 20)
}
const query = Buffer.from(JSON.stringify(opts)).toString("base64");
const sharedSecret = key.toString();
const signature = Crypto.createHmac('sha256', sharedSecret).update(query).digest('base64');
return `${query}.${signature}`;
}
module.exports = GenerateSignature;
|