Error di kelas perjalanan "json web token pada nodejs"

Saya sudah menulikan kode sesuai petunjuk di video [link] https://sekolahkoding.com/kelas/json-web-token-pada-nodejs/video/login-dan-generate-token [/link]

//=============== Router API
router.post('/login', function(req, res){

  User.findOne({
    email: req.body.email
  }, function(err, user){
    if(err) throw err;

    if(!user){
      res.json({ succes:false, message:'User tidak ada di database' });
    }else{
      //harusnya passwordnya hash
      if (user.password != req.body.password) {
        res.json({ succes:false, message:'password user salah!' });
      }else{
        //membuat token
        var token = jwt.sign(user, app.get('secretKey'), {
          expiresIn: "24h"
        });

        //ngirim balik token
        res.json({
          succes : true,
          message:'password user salah!',
          token  : token
        })
      }
    }
  });

});

ketika post email yang tidak terdaftar dan password yang salah semuanya berjalan lancar [img] https://i.imgur.com/6xAXQDB.png [/img] [img] https://i.imgur.com/tNbLYEN.png [/img]

tapi ketika post email dan passwordnya benar terjadi error yang saya belum ketemu-ketemu solusinya Error di servernya

 events.js:174
      throw er; // Unhandled 'error' event
      ^

Error: Expected "payload" to be a plain object.
    at validate (D:\Lainnya\Kode Premium Sekolah Koding\jwt-server\node_modules\jsonwebtoken\sign.js:40:11)
    at validatePayload (D:\Lainnya\Kode Premium Sekolah Koding\jwt-server\node_modules\jsonwebtoken\sign.js:62:10)
    at Object.module.exports [as sign] (D:\Lainnya\Kode Premium Sekolah Koding\jwt-server\node_modules\jsonwebtoken\sign.js:114:7)
    at D:\Lainnya\Kode Premium Sekolah Koding\jwt-server\server.js:39:25
    at D:\Lainnya\Kode Premium Sekolah Koding\jwt-server\node_modules\mongoose\lib\model.js:4567:16
    at D:\Lainnya\Kode Premium Sekolah Koding\jwt-server\node_modules\mongoose\lib\query.js:4314:12
    at process.nextTick (D:\Lainnya\Kode Premium Sekolah Koding\jwt-server\node_modules\mongoose\lib\query.js:2797:28)
    at process._tickCallback (internal/process/next_tick.js:61:11)
Emitted 'error' event at:
    at D:\Lainnya\Kode Premium Sekolah Koding\jwt-server\node_modules\mongoose\lib\model.js:4569:13
    at D:\Lainnya\Kode Premium Sekolah Koding\jwt-server\node_modules\mongoose\lib\query.js:4314:12
    at process.nextTick (D:\Lainnya\Kode Premium Sekolah Koding\jwt-server\node_modules\mongoose\lib\query.js:2797:28)
    at process._tickCallback (internal/process/next_tick.js:61:11)

Semoga ada yang bisa membantu dan semoga jelas, terimakasih.

avatar rahmatramadhan
@rahmatramadhan

26 Kontribusi 5 Poin

Diperbarui 5 tahun yang lalu

Tanggapan

Sudah saya perjelas errornya bang, semoga jelas. Menambahkan useMongoClient udah saya lakukan sesuai video tersebut. Dan saya cek di database email dan password nya juga ada bang. Bahkan saya download langsung source kode dari kelas tutorial ini dan saya tes menghasilkan error yang sama

1 Jawaban:

Jawaban Terpilih

Udah ketemu jawabannya di sini linkhttps://stackoverflow.com/questions/47117709/payload-error-in-jsonwebtoken[/link]

avatar rahmatramadhan
@rahmatramadhan

26 Kontribusi 5 Poin

Dipost 5 tahun yang lalu

Tanggapan

sama-sama bang hilman

Login untuk ikut Jawaban