Postingan lainnya
Kelas Premium!
Belajar Membuat API dengan NodeJS
Gunakan kupon "skillbaru" untuk diskon 100 ribu!
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.
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]
Tanggapan
sama-sama bang hilman