@a11ywatch/core
Version:
a11ywatch central API
52 lines • 1.56 kB
JavaScript
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
;