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

510
Views
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 answers
Answer question

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 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!