@geniucode/common-utils
Version:
Common utils
30 lines • 1.09 kB
JavaScript
const jwt = require('jsonwebtoken');
const JWT_KEY = process.env.JWT_KEY ?? '';
const JWT_EXPIRATION = process.env.JWT_EXPIRATION ?? 5 * 60;
function generateToken(payload, secret = JWT_KEY, expiration = JWT_EXPIRATION) {
checkEnvironmentKeys();
const token = jwt.sign(payload, secret, {
expiresIn: expiration,
});
return token;
}
function verifyMember(memberAuthToken) {
checkEnvironmentKeys();
const memberPayload = jwt.verify(memberAuthToken, JWT_KEY);
return memberPayload;
}
// [Reference] | https://www.npmjs.com/package/jsonwebtoken#jwtverifytoken-secretorpublickey-options-callback
function verifyMemberWithNoExpire(memberAuthToken) {
checkEnvironmentKeys();
const memberPayload = jwt.verify(memberAuthToken, JWT_KEY, {
ignoreExpiration: true,
});
return memberPayload;
}
const checkEnvironmentKeys = () => {
if (!JWT_KEY || !JWT_EXPIRATION) {
throw new Error('JWT_KEY & JWT_EXPIRATION must be defined');
}
};
export { generateToken, verifyMember, verifyMemberWithNoExpire };
//# sourceMappingURL=jwt.js.map