Company logo
  • Empleos
  • Bootcamp
  • Acerca de nosotros
  • Para profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
    • Bootcamp
  • Para empresas
    • Inicio
    • Nuestro proceso
    • Planes
    • Pruebas
    • Nómina
    • Blog
    • Comercial
    • Calculadora

0

98
Vistas
Is it possible to pass a request header on a link with EJS template? Express/Node.js

I'm a trying to make a route accessible only if you are authenticated with JWT using below middleware but I can't seem to find a way to pass the token in the get request from client side ? It works fine on postman and I if using a fetch from client side it won't redirect me to the page I want to go

auth.js

async function (req, res, next) {
  const token = req.header('x-auth-token');

  if (!token) {
    return res.status(401).json({ msg: 'Forbidden' });
  }

  try {
    const decoded = jwt.verify(token, process.env.TOKEN_SECRET);

    req.user = decoded.user;

    next();
  } catch (e) {
    return res.status(401).json({ err: 'fail' });
  }
};

server side

router.get('/', auth, function (req, res, next) {
  res.render('pages/person');
});
7 months ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

You can simply attach your token to the headers in the request and sent it with get or even 'delete` method.

for example, in the fetch method you can attach your token in this way in your client side:

fetch('URL_GOES_HERE', { 
   method: 'post', 
   headers: new Headers({
     'Authorization': YOUR_TOKEN, 
     'Content-Type': 'application/x-www-form-urlencoded'
   }), 
 });

Now, you can retrieve the token in the node app:

const token = req.headers.authorization || "";
7 months ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos