Files
relay/server/auth/jwt.js

34 lines
789 B
JavaScript

const jwt = require("jsonwebtoken");
const jwtSecret = process.env.JWT_SECRET;
function generateJwtToken(username, user_id) {
try {
return jwt.sign({ username: username, user_id: user_id }, jwtSecret, {
algorithm: "HS256",
expiresIn: "30d",
});
} catch (e) {
console.log("Failed to generate JWT token, ", e);
throw e;
}
}
function verifyJwtToken(token) {
try {
const decoded = jwt.verify(token, jwtSecret);
if (decoded.user_id) {
console.log("verifyJwtToken decoded: ", decoded);
return { username: decoded.username, user_id: decoded.user_id };
}
console.log("verifyJwtToken decoded: ", decoded);
} catch (e) {
console.error(e.message);
throw e;
}
}
module.exports = {
generateJwtToken,
verifyJwtToken,
};