Création d'une authentification basée sur une session

2020-06-30 javascript authentication session-cookies

Je suis en train de créer une application Web ayant deux côtés, l'un est administrateur et l'autre est l'utilisateur. Je souhaite appliquer l'authentification basée sur la session et également empêcher un utilisateur d'accéder aux routes d'administration. J'ai jeté un coup d'œil à la documentation expresse, mais cela n'a pas fonctionné de cette façon. Sa session expire dans environ 2 minutes. C'est le code que j'ai essayé d'exécuter. Veuillez aider.

  var cookieParser = require('cookie-parser');
  const session=require('express-session');
  app.use(cookieParser());
  app.use(session({
  secret: 'keyboard cat',
  resave: false,
  saveUninitialized: true,
  cookie: { secure: true, maxAge: 0.125*60*60*1000 }
  }));

  app.get('/admin',(req,res)=>{
  res.render('LoginAdmin',{erru:"",errp:""});
  });

  app.post('/admin/login',(req,res)=>{
  Admin.findOne({username:req.body.id},(function(err,result){
    if(!result)
        res.render('LoginAdmin',{erru:"Username not found",errp:""});
    else if(!passwordHash.verify(req.body.password,result.password))
        res.render('LoginAdmin',{erru:"",errp:"Incorrect Password"});
    else 
        {   req.session.user_id=result._id;
            res.render('Main');
        }
   }))
   });

   app.get('/logout',checkAuth,(req,res)=>{
    req.session.destroy(function(){
    console.log("user logged out.")
    });
    res.redirect('/');
    });

Answers

Related