viber-bot
Version:
A bot interface to work with Viber API
20 lines (15 loc) • 667 B
JavaScript
;
const crypto = require('crypto');
function MessageValidator(logger, authToken) {
this._logger = logger;
this._authToken = authToken;
}
MessageValidator.prototype.validateMessage = function(serverSideSignature, message) {
const calculatedHash = this._calculateHmacFromMessage(message);
this._logger.debug("Validating signature '%s' == '%s'", serverSideSignature, calculatedHash);
return serverSideSignature == calculatedHash;
};
MessageValidator.prototype._calculateHmacFromMessage = function(message) {
return crypto.createHmac("sha256", this._authToken).update(message).digest("hex");
};
module.exports = MessageValidator;