JSON Web Token undefined mesajı gönderiyor

Katılım
25 Mayıs 2020
Mesajlar
7.126
Makaleler
22
Çözümler
58
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?
 

Technopat Haberler

Geri
Yukarı