Home > Mobile >  Redirect even if user uses back button (Node.js)
Redirect even if user uses back button (Node.js)

Time:05-26

I have made a login system with jwt and, basically, the user redirects to the homepage (homepage/) if login (homepage/login) is successfull. After that, even if the user types (homepage/login) in the url, they get redirected back to the homepage because (and as long as) they have the jwt token.

I have the following code:

app.get('/login', (req, res) => {
  const token = req.cookies.jwt
  if(token) {
    res.redirect('/')
  } else {
    res.render('login')
  }
})

HOWEVER, if the user goes to (homepage/login) through the "back button", they are no longer redirected even though they have the token. How can I include a redirect if the back button is pressed ?

CodePudding user response:

Redirection is happening on client side.

So, simply include a frontend javascript code that checks if token is there. If not present, redirect.

In html code, include this script in head tag (assuming you are using localstorage to store token:

<html>
  <head>
  ..
  ..
  <script>
    const token = localstorage.getItem("token");
    if(token == null) {
      window.location.replace("-path-to-home-page-");
    }
    </script>
  </head>
  <body>
  ..
  ..
  ..
  </body>
</html>
  • Related