alapa
Version:
A cutting-edge web development framework designed to revolutionize the way developers build modern web applications.
37 lines (36 loc) • 1.06 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.JoseJWT = void 0;
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
const abstract_1 = require("./abstract");
class JoseJWT {
key;
error;
constructor(secret) {
this.key = secret;
}
async generateToken(payload, expiresAt) {
const expires = (0, abstract_1.generateJWTExpiresDate)(expiresAt);
const token = jsonwebtoken_1.default.sign(payload, this.key, {
expiresIn: `${expires.minutes}m`,
});
return {
success: true,
token,
expiresAt: expires.date,
};
}
async verifyToken(token) {
try {
return jsonwebtoken_1.default.verify(token, this.key);
}
catch (error) {
this.error = error;
return false;
}
}
}
exports.JoseJWT = JoseJWT;
;