oak-general-business/lib/utils/sign.js

21 lines
747 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.base64ToUrlSafe = base64ToUrlSafe;
exports.hmacSha1 = hmacSha1;
exports.urlSafeBase64Encode = urlSafeBase64Encode;
const tslib_1 = require("tslib");
const crypto_1 = tslib_1.__importDefault(require("crypto"));
const buffer_1 = require("buffer");
function base64ToUrlSafe(v) {
return v.replace(/\//g, '_').replace(/\+/g, '-');
}
function hmacSha1(encodedFlags, secretKey) {
const hmac = crypto_1.default.createHmac('sha1', secretKey);
hmac.update(encodedFlags);
return hmac.digest('base64');
}
function urlSafeBase64Encode(jsonFlags) {
const encoded = buffer_1.Buffer.from(jsonFlags).toString('base64');
return base64ToUrlSafe(encoded);
}