UNPKG

@a11ywatch/core

Version:
52 lines 1.56 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.decodeJwt = exports.verifyJwt = exports.signJwt = void 0; const jsonwebtoken_1 = __importDefault(require("jsonwebtoken")); const config_1 = require("../../config/config"); const issuer = "AUTH/RESOURCE"; const expiresIn = "365 days"; const algorithm = "RS256"; const subject = "user@.com"; const audience = "http://adahelpalerts.com"; const keyid = ""; let defaultKey; let jwtOptions = { issuer, subject, audience, expiresIn, algorithm, keyid, }; if (!config_1.PRIVATE_KEY && !config_1.PUBLIC_KEY) { defaultKey = Buffer.from("secret", "base64"); } const privateKey = String(config_1.PRIVATE_KEY || defaultKey).trim(); const publicKey = String(config_1.PUBLIC_KEY || defaultKey).trim(); const signJwt = ({ email, role, keyid }) => { return jsonwebtoken_1.default.sign({ subject: email, audience: role || 0, keyid, }, privateKey, jwtOptions); }; exports.signJwt = signJwt; const verifyJwt = (token) => { if (token) { try { return jsonwebtoken_1.default.verify(token, publicKey, jwtOptions); } catch (e) { } } }; exports.verifyJwt = verifyJwt; const decodeJwt = (token) => { if (token) { return jsonwebtoken_1.default.decode(token, { complete: true }); } }; exports.decodeJwt = decodeJwt; //# sourceMappingURL=auth.js.map