burdy
Version:
Open Source Headless Platform
27 lines (26 loc) • 950 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getExpires = exports.verify = exports.sign = void 0;
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
const date_fns_1 = require("date-fns");
const secret = process.env.JWT_SECRET || 'P@SSw0rd';
const alg = process.env.JWT_ALG || 'HS512';
const expires = process.env.JWT_EXPIRES || 31556952;
const sign = (payload, exp) => {
return jsonwebtoken_1.default.sign(payload, secret, {
expiresIn: exp || expires,
algorithm: alg,
});
};
exports.sign = sign;
const verify = (token) => {
return jsonwebtoken_1.default.verify(token, secret);
};
exports.verify = verify;
const getExpires = () => {
return (0, date_fns_1.addSeconds)(new Date(), expires);
};
exports.getExpires = getExpires;