@raddiamond/nexauth-core
Version:
Core authentication plugin supporting Local, AD authentication
23 lines (22 loc) • 748 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.IssueToken = IssueToken;
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
function IssueToken(user, expiresIn = '1h') {
const secret = process.env.JWT_SECRET;
if (!secret) {
throw new Error('Missing JWT_SECRET environment variable');
}
const payload = {
sub: user.userId,
email: user.email,
roles: user.roles ?? [],
};
const options = {
expiresIn: parseInt(expiresIn),
};
return jsonwebtoken_1.default.sign(payload, secret, options);
}