@foal/core
Version:
Full-featured Node.js framework, with no complexity
18 lines (17 loc) • 626 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sign = sign;
exports.signToken = signToken;
// std
const crypto_1 = require("crypto");
// FoalTS
const encoding_1 = require("../encoding");
function sign(base64Value, base64Secret) {
return (0, crypto_1.createHmac)('sha256', Buffer.from(base64Secret, 'base64'))
.update(Buffer.from(base64Value, 'base64'))
.digest();
}
function signToken(unsignedToken, secret) {
const signature = sign(unsignedToken, secret).toString('base64');
return `${unsignedToken}.${(0, encoding_1.convertBase64ToBase64url)(signature)}`;
}