احراز هویت با استفاده از توکن در نود جی اس

سلام 
بنده مطابق آموزش همین سایت البته با کمی تغییرات میخوام عملیات لاگین و احراز هویت را انجام بدم به این صورت که بعد از چک کردن با بانک و تولید توکن اونو با دستور زیر ست کنم:

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')
})

کسی میدونه مشکل از کجاست ؟؟؟

برچسب ها:
پرسیده شده در: 5 سال قبل
آمار بازدید: 1791
بیش از ۱ سال عضویت در روکسو بیش از ۱ سال عضویت در روکسو
0

بهتر از passport js استفاده کنید

ارسال شده در: 5 سال قبل
جهت ارسال پاسخ ابتدا عضو سایت شوید.