Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

241
Views
¿Cómo transfiero un token jwt desde el almacenamiento local en el navegador web al backend del servidor?

Actualmente estoy diseñando un sitio web simple, donde los usuarios pueden iniciar sesión como un usuario normal o como administrador. En este momento, estoy codificando la parte para cuando el usuario quiera ir a una página web solo para administradores, y el servidor recuperará el token jwt almacenado en el almacenamiento local en el navegador web para validarlo.

Almacenamiento local del navegador web

Así es como se ve el almacenamiento local

Aquí está el código para recuperar el token jwt

 var verifyFn = { verifyToken: function (req, res, next) { const authHeader = localStorage.getItem("jwt_token"); console.log("THIS IS THE HEADER") console.log(authHeader) if (authHeader === null || authHeader === undefined ){ return res.status(401).send({ message: 'not authenticated BEARER TOKEN ISSUE' }); } const token = authHeader console.log("NEW TOKEN") console.log(token) jwt.verify(token, config.jwt.secret, { algorithms: ['HS256'] }, (err, decoded) => { if (err) return res.status(401).send({ message: 'not authenticated' }); req.decodedToken = decoded; console.log("DECODED TOKEN: " + req.decodedToken) next(); }); }

Sin embargo, cada vez que intento ejecutar el servidor y navego a la página de administración, aparece un error que dice "el almacenamiento local no está definido". Como tal, no estoy seguro de cómo puedo recuperar el jwt_token desde el navegador web hasta el back-end del servidor.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Un servidor no tiene acceso al objeto localStorage del navegador, ya que solo se puede acceder a él desde el cliente y no existe en el contexto del servidor.

Lo que se suele hacer es enviar el token en una cabecera de Authorization . Parece que está usando Node , así que considere la siguiente solicitud de ejemplo usando la API de búsqueda en el cliente:

 const jwtToken = localStorage.getItem('jwt_token') fetch('your-api-url', { method: 'request method here', headers: { Authorization: `Bearer ${jwtToken}` }, body: JSON.stringify(your request body here) }).then(response => ...)

En el servidor, puede obtener el token JWT mirando los encabezados de solicitud, algo como esto:

 var verifyFn = { verifyToken: function (req, res, next) { let authHeader = req.headers['Authorization'] // the auth header will have Bearer prepended, so remove it authHeader = authHeader.replace('Bearer ', '') console.log("THIS IS THE HEADER") console.log(authHeader) if (authHeader === null || authHeader === undefined ){ return res.status(401).send({ message: 'not authenticated BEARER TOKEN ISSUE' }); } const token = authHeader console.log("NEW TOKEN") console.log(token) jwt.verify(token, config.jwt.secret, { algorithms: ['HS256'] }, (err, decoded) => { if (err) return res.status(401).send({ message: 'not authenticated' }); req.decodedToken = decoded; console.log("DECODED TOKEN: " + req.decodedToken) next(); }); }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!