secure-token-kit
Version:
A robust, framework-agnostic TypeScript library for secure token and session management.
57 lines • 2.05 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AuthServer = void 0;
var jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
/**
* Clase para manejar la autenticación del cliente.
*/
var AuthServer = /** @class */ (function () {
/** Crea una instancia de AuthServer,
* @param options Opciones de configuracion del manejo del Token.
*/
function AuthServer(options) {
this.jwtSecret = options.jwtSecret;
this.jwtOptions = options.jwtOptions || { expiresIn: '15m' };
this.refreshTokenSecret = options.refreshTokenSecret;
this.refreshTokenOptions = options.refreshTokenOptions || {
expiresIn: '2h'
};
}
/** Genero un access Token,
* @param payload Payload de datos a encapsular en el JWT
* @returns JWT
*/
AuthServer.prototype.generateAccessToken = function (payload) {
return jsonwebtoken_1.default.sign(payload, this.jwtSecret, this.jwtOptions);
};
/**
*
* @param token String de un JWT a validar
* @returns Entrega el Payload encapsulado.
*/
AuthServer.prototype.verifyAccessToken = function (token) {
return jsonwebtoken_1.default.verify(token, this.jwtSecret);
};
/**
* Refresca el JWT del cliente
* @param payload Payload a reencapsular
* @returns JWT
*/
AuthServer.prototype.generateRefreshToken = function (payload) {
return jsonwebtoken_1.default.sign(payload, this.refreshTokenSecret, this.refreshTokenOptions);
};
/**
* Valida el JWT que se refresco
* @param token JWT
* @returns Payload
*/
AuthServer.prototype.verifyRefreshToken = function (token) {
return jsonwebtoken_1.default.verify(token, this.refreshTokenSecret);
};
return AuthServer;
}());
exports.AuthServer = AuthServer;
//# sourceMappingURL=AuthServer.js.map