MOON
Server: Apache
System: Linux vps.erhabenn.com.br 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User: sonne (1011)
PHP: 8.2.31
Disabled: NONE
Upload Files
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
};