سلام
بنده مطابق آموزش همین سایت البته با کمی تغییرات میخوام عملیات لاگین و احراز هویت را انجام بدم به این صورت که بعد از چک کردن با بانک و تولید توکن اونو با دستور زیر ست کنم:
res.header('x-auth', result.token);
و بعد با این دستور ;('res.redirect('/admin-index به صفحه مورد نظر میرم ولی وقتی به صفحات دیگه میرم اصلا هدری بنام x-auth ساخته نشده و احراز هویت هم انجام نمیشه.
کد صفحه سرور من برای ارسال ایمیل و پسورد:
app.post('/admin/login', (req, res)=>{
var body = _.pick(req.body, ['email', 'password']);
var admin=new Admin(body)
socket.emit('Admin-login',{email:body.email,password:body.password});
socket.on('AdminValidation',(result)=>{
if(result.IsSuccessful){
console.log(result.token)
//console.log(admin)
res.header('x-auth', result.token);
nameAdmin=result.fullName;
res.redirect('/admin-index');
//res.header('x-auth', result.token);
}
اینم کد احراز هویت: authenticate
const {Admin} = require('../admin')
var authenticate = (req, res, next) =>{
var token = req.body.header('x-auth');
console.log('x-auth:',token)
// var v=req.header('Accept-Encoding')
// console.log(v)
Admin.findByToken(token).then((admin)=>{
if(!admin){
return Promise.reject();
}
req.admin = admin
req.token = token
console.log('ok token:',token)
next();
}).catch((e)=>{
res.status(401).send()
console.log('errrrrrr')
})
}
کد مسیر دهی:
app.get('/admin-index2',authenticate,(req,res)=>{
res.render('./admin-index2.hbs')
})
کسی میدونه مشکل از کجاست ؟؟؟
بهتر از passport js استفاده کنید
به جمع هزاران کاربر اینستاگرامی روکسو بپیوندید.