Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

243
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda