简体   繁体   中英

How can i persist users on my web application with my Node/Express and Firebase backend

Im currently creating a web application using the react/node/express on top of firebase. Im confused as to how I should persist my user on the client side.

Currently I have sign up and login routes on my Node/Express server that are working and they each return a JWT which I then save to local storage and then add to each request header as a Bearer token.

The problem is that the JWT token expires after 1 hour and the user has to sign in again.

How can I fix this and persist the user forever(if they choose) along with avoiding saving the JWT in local storage. I was looking over the docs and found this https://firebase.google.com/docs/auth/web/auth-state-persistence but im not sure how i would use that with my node/express server.

Firebase accepts session cookies so you can simply create a cookie or a header on the /login endpoint of the backend and return the user as a response if you don't want a solution which includes local storage:

  resp.cookie('Authorization', 'Bearer ' + token, {httpOnly: true, secure: false});
  return resp.status(200).send({user, events});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM