JSON Web Token undefined mesajı gönderiyor

Zurnadürüm

Kilopat
Katılım
25 Mayıs 2020
Mesajlar
7.048
Makaleler
22
Çözümler
55
Daha fazla  
Cinsiyet
Erkek
Sabahtan boyle sacman bur hata ile ugrasiyorum. JWT yeni ogreniyorum, bu yuzden ne arayacagimi da bilmiyorum. En son buraya da sorayim dedim.

Normalde tokeni JSON olarak dondermesi lazim. Fakat cikti baska bir sey:
JSON:
{
"message": "Cannot read properties of undefined (reading 'token')",
"stack": "TypeError: Cannot read properties of undefined (reading 'token')\n    at getUserData (file:///home/kaan/58-works-site/server/src/controllers/userController.js:130:31)\n    at Layer.handle [as handle_request] (/home/kaan/58-works-site/server/node_modules/.pnpm/[email protected]/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/kaan/58-works-site/server/node_modules/.pnpm/[email protected]/node_modules/express/lib/router/route.js:144:13)\n    at Route.dispatch (/home/kaan/58-works-site/server/node_modules/.pnpm/[email protected]/node_modules/express/lib/router/route.js:114:3)\n    at Layer.handle [as handle_request] (/home/kaan/58-works-site/server/node_modules/.pnpm/[email protected]/node_modules/express/lib/router/layer.js:95:5)\n    at /home/kaan/58-works-site/server/node_modules/.pnpm/[email protected]/node_modules/express/lib/router/index.js:284:15\n    at param (/home/kaan/58-works-site/server/node_modules/.pnpm/[email protected]/node_modules/express/lib/router/index.js:365:14)\n    at param (/home/kaan/58-works-site/server/node_modules/.pnpm/[email protected]/node_modules/express/lib/router/index.js:376:14)\n    at Function.process_params (/home/kaan/58-works-site/server/node_modules/.pnpm/[email protected]/node_modules/express/lib/router/index.js:421:3)\n    at next (/home/kaan/58-works-site/server/node_modules/.pnpm/[email protected]/node_modules/express/lib/router/index.js:280:10)"
}

Kod blogum da bu sekilde:
JavaScript:
export const getUserData = async (req, res) =>{
  try {
    const token = req.cookies.token;
    console.log("Token:", token)

    if (!token) {
      return res.status(401).json({ message: 'Yetkilendirme reddedildi' });
    }

    // Verify token
    jwt.verify(token, secret, async (err, decoded) => {
      if (err) {
        return res.status(403).json({ message: 'Geçersiz token' });
      }

      const userId = decoded.userId;
      console.log('User ID: ',userId)

    
      const user = await User.findOne({ userId });
      console.log(user)

      if (!user) {
        return res.status(404).json({ message: 'Kullanıcı bulunamadı' });
      }
      console.log("User: ", user)

      res.json(user);
    });
  } catch (error) {
    res.json({'message': error.message, 'stack': error.stack });
  }
}

Nerede hata yapiyorum acaba?
 
Cookie parser ekledin mi peki?

JavaScript:
var cookies = require("cookie-parser");

app.use(cookies());

Veya Client tarafında cookie set ettin mi?
 

Yeni konular

Geri
Yukarı