Express, failure in res.render?

1

I have a problem rendering a dashboard.ejs . When entering my /login I have a javascript code that evaluates if I have a token registered in my local-storage , if it exists a /get to the dashboard and here the problem because it does not render my dashboard returns to /login

// login

<script type="text/javascript">
        console.log("comprueba si existe el token");
        if (window.localStorage) {   
            console.log("obtiene el local storage")           
            var jwt = localStorage.getItem("krowdy-oauth");
            console.log("¿existe jwt?:",jwt)

            if (jwt){
                   $.ajax({
                          url: "https://localhost:3000/dashboard#",
                          type: 'GET',
                          headers: {"authorization": jwt}                         

                    });

            }else{
                 console.log("no tiene token");

            }

        }
        else {
              console.log('Tu Browser no soporta LocalStorage!');
        }
    </script>

// router / dashboard

router.get('/dashboard', function(req, res){
    var jwt;   
    var redirectUrl = utils.getRedirectUrl(req.originalUrl);
    if (req.query.token)
        jwt=req.query.token
    else if (req.headers["authorization"]){
        jwt=req.headers["authorization"];
        console.log("headers:",req.headers["authorization"]);
    }
    console.log("jwt:",jwt);
    if (typeof jwt !== 'undefined') {
        if (!tokenModify(jwt)){            
            var header=jwt.split('.')[0];
            var payload=jwt.split('.')[1];
            var data=unb64(payload);
            let dat=JSON.parse(data);

            let mail=dat.email;       

            Users.findOne({"email":"[email protected]"}).exec(function(err, user){ 
                    let user=user
                if(user==null){
                    console.log("user null");             
                    return  res.render('login',{
                         'error' : 'Error el usuario o password estan incorrectos',
                    });
                }else if(user.enabled){
                    req.user=user;
                    req.token=jwt
                    if(req.token){
                        console.log("/dashboard token true")
                    }else{
                        console.log("/dashboard token false")
                    }                
                    console.log("midleware user:",req.user._id);

                    res.render('dashboard', {
                        user: req.user ,
                        redirect : redirectUrl,
                        role : req.user.role,
                        wss : global.confSelf.ws,
                        token:req.token
                    });
                }else{                        
                    res.render('login',{
                        'error' : 'Error Usuario ha sido desabilitado contactar a soporte',
                    });
                }
            });  
        }else{
            console.log("el token se ha modificado:");
            let message="el token ha sido modificado";
             res.redirect('/login');
        }
    } else {
        console.log("se renderizara el login");
        res.redirect('/login');
    } 
});
    
asked by Gustav Sanes 17.08.2017 в 20:52
source

0 answers