@ikas/admin-api-client
Version:
ikas public node api client for store apps and private apps
19 lines • 900 B
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateAuthSignature = validateAuthSignature;
const crypto_1 = __importDefault(require("crypto"));
// validate auth method
function validateAuthSignature({ storeName, signature, merchantId, timestamp, authorizedAppId: _authorizedAppId }, appSecret) {
const hashData = `${storeName}${merchantId}${timestamp}`;
const date = new Date(parseInt(timestamp));
const dateDiff = (new Date().getTime() - date.getTime()) / 1000;
const calculatedSignature = crypto_1.default
.createHmac('sha256', appSecret)
.update(hashData)
.digest('hex');
return signature == calculatedSignature && dateDiff < 120;
}
//# sourceMappingURL=auth-helpers.js.map
;