I am succesfully creating a new user, but when i try to test user authorization i face an error. Here is my code
router.get('/auth/user', verifyToken, async(req, res) => {
try {
let foundUser = await User.findOne({ _id: req.decoded._id })
if(foundUser) {
res.json({
success: true,
user: foundUser
})
}
} catch(err) {
res.status(500).json({
succes: false,
message: err.message
})
}
})
And here is my token script:
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) {
res.json({
success: false,
message: 'Failed to authenticate'
})
} else {
res.decoded = decoded
next()
}
})
} else {
res.json({
success: false,
message: 'No token provided'
})
}
}
So i am creating a new user succesfully, but when i try to test this on postman 'localhost:8080/api/auth/user', with provided token, i get this error "message": "Cannot read properties of undefined (reading '_id')". Thank you for your time