Как да изпратите заглавка на отговор след успешно влизане с помощта на Passport.js
Използвам React, express.js и MySQL, а също и express-session и Passport.js.
Искам да направя удостоверяване с помощта на паспорт. досега, когато проверявам чрез console.log, данните се записват в сесията.
проблемът е, че искам да изпратя данни под формата на потребителска информация, която е успешно влезла и изпратена до клиента с няколко JSON файла.
но винаги получавам това:
Грешка [ERR_HTTP_HEADERS_SENT]: Не мога да задам заглавки след изпращането им до клиента
и
Код на състоянието: 401 Неупълномощен
Търся този проблем от часове, моля помогнете ми
ето моят код:
Конфигурация на паспорта
let queryFindAdmin = 'select * from admin where username = ? '; db.query(queryFindAdmin, [username], (err, result) => { if (err) return done(err, null); if (result.length > 0) { let data = result[0]; bcrypt.compare(password, data.password) .then(isMatch=>{ if(isMatch){ return done(null, data); }else{ return done(null, false, { message: 'Incorrect password.' }); } }) } return done(null, false, { message: 'Incorrect username.' }); }) }
));
Passport.serializeUser (функция (потребител, готово) {
console.log (потребител);
готово (нула, user.id );
});
Passport.deserializeUser (функция (идентификатор, направено) {
let queryFindAdmin = `SELECT * from admin where id = ${id}`; db.query(queryFindAdmin, (err, result) => { if (err) return done(err, null); if (result.length > 0) { return done(null, result[0]); } })
});
моите Auths маршрути
next();
Моят Server.js
Server running on port ! ${port}
})
app.use (cors ({origin: keys.origin.url}))
app.use (bodyParser.urlencoded ({разширено: невярно}));
app.use (bodyParser.json ());
app.use (‘/api/’, [CategoryRoutes, ProductRoutes, AuthRoutes, TrackRoutes]);
const port = process.env.PORT || 5000;
app.listen (порт, (грешка) => {
ако (грешка) {
console.log (грешка);
} else {
console.log (| _+_ |);
}
});
#javascript #node-js #express