Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

505
Vistas
cómo acceder al token del portador en vue

Estoy tratando de obtener la información del usuario actual usando el token jwt después de iniciar sesión correctamente, el token se guarda en el navegador, pero cada vez que envío la solicitud aparece un error

token que obtengo en la pestaña de mi aplicación en mi consola

 token:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI2MjM4NzA4ZDc2ZDVkMDJmZWMwNGRiZDEiLCJpYXQiOjE2NDgwODI3MTV9.xvFdGR8skZntTIdlo9aSCx90315rSoUxct_VIR9cf6Q

error que recibo en mi consola cuando estoy en la ruta del usuario

 { "success": false, "message": "Failed to authenticate" }

mi etiqueta de script para obtener la información del usuario actual

 <script> import axios from "axios"; export default { name: "HelloWorld", data() { return { msg: "Welcome to Your Vue.js App" }; }, mounted() { axios .get("http://localhost:5000/api/auth/user", { headers: { Authorization: "Bearer ${token}", token: localStorage.getItem("token") } }) .then(res => { console.log(res); }); } }; </script>

ruta de back-end para la autenticación

 router.get("/auth/user", verifyToken, async (req, res) => { try { let foundUser = await User.findOne({ _id: req.decoded._id }).populate( "address" ); if (foundUser) { res.json({ success: true, user: foundUser }); } } catch (err) { res.status(500).json({ success: false, message: err.message }); } });

jwt middleware para verificar el token

 const jwt = require("jsonwebtoken"); module.exports = function (req, res, next) { let token = req.headers["x-access-token"] || req.headers["authorization"]; let checkBearer = "Bearer "; if (token) { if (token.startsWith(checkBearer)) { token = token.slice(checkBearer.length, token.length); } jwt.verify(token, process.env.SECRET, (err, decoded) => { if (err) { console.log(err) res.json({ success: false, message: "Failed to authenticate" }); } else { req.decoded = decoded; next(); } }); } else { res.json({ success: false, message: "No token Provided" }); } };

no entiendo por qué recibo un error cuando mi token se guarda en mi almacenamiento local

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

deberías ver tu token en la consola.

si no ves, no guardaste correctamente. debe verificar su método de guardado.

 <script> import axios from "axios"; export default { name: "HelloWorld", data() { return { msg: "Welcome to Your Vue.js App" }; }, mounted() { let token=localStorage.getItem("token"); console.log(token); axios .get("http://localhost:5000/api/auth/user", { headers: { Authorization: `Bearer ${token}`, token: token } }) .then(res => { console.log(res); }); } }; </script>

y arreglé su método de middleware. para obtener token, puede dividir el carácter de espacio y tomar el último índice.

 const autheticateToken = (req, res, next) => { var authHeader = req.headers.authorization; const token = authHeader?.split(' ')[1]; if (token === null) { return res.json({ success: false, message: "Failed to authenticate" }); } JWT.verify(token, process.env.SECRET, (err, decoded) => { if (err) { return res.json({ success: false, message: "Failed to authenticate" }); } req.decoded = decoded; next(); }); }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda