34 lines
789 B
JavaScript
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,
|
|
};
|