File: //matrixSwot/backend/services/auth.js
const jwt = require("jsonwebtoken");
const refreshToken = async token => {
let decode = jwt.verify(token, process.env.PRIVATEKEY, async function(
err,
dec
) {
if (err) {
return false;
} else {
let user = dec.user;
let data = await jwt.sign({ user }, process.env.PRIVATEKEY, {
expiresIn: 6000
});
return data;
}
});
if (decode) {
return decode;
} else {
return res.status(401);
}
};
const returnToken = async (req, res, next) => {
const baererHeader = await req.headers["autorization"];
if (typeof baererHeader !== "undefined") {
const baerer = baererHeader.split(" ");
const baerrerToken = baerer[1];
let token = baerrerToken;
return token;
} else {
return res.status(401);
}
};
const returnTokenDecode = async (req, res, next) => {
const baererHeader = await req.headers["autorization"];
if (baererHeader !== undefined) {
const baerer = baererHeader.split(" ");
const baerrerToken = baerer[1];
let token = baerrerToken;
try {
let decode = await jwt.verify(token, process.env.PRIVATEKEY);
return decode;
} catch (error) {
return res.status(401).send({ error: error.message });
}
} else {
return false;
}
};
const updateToken = async token => {
let user = token.user;
let newToken = await jwt.sign({ user }, process.env.PRIVATEKEY, {
expiresIn: 6000
});
return newToken;
};
const verifyCode = async () => {};
module.exports = {
refreshToken,
returnToken,
returnTokenDecode,
updateToken,
verifyCode
};