'use strict' const crypto = require('crypto'); var calcSignature = (baseString, secretKey) => { const secretBuffer = new Buffer(secretKey, 'base64'); return crypto.createHmac('sha1', secretBuffer).update(baseString).digest('base64'); }; var verifySignature = (UID, signature, timestamp, secretKey) => { if (Math.abs(Date.now() / 1000 - timestamp) < process.env.GIGYA_TS_DELTA) { let baseString = Number(timestamp) + "_" + UID; let expectedSig = this.calcSignature(baseString, secretKey); return expectedSig === signature; } else { return false; } } module.exports.calcSignature = calcSignature; module.exports.verifySignature = verifySignature;