使用react router和express实现登录系统的正确方法是什么?

问题描述 投票:0回答:0

使用React,React Router和Express,(Mern堆栈)与express-session我试图让用户登录系统。

以下是我认为我需要的不同功能。

  1. 登录用户

    • 要登录用户,React必须向express中的auth路由发出请求。 成功时,auth路由必须设置如下所示的express-sessionreq.session.user = user (用户具有以下信息: {name, email}
  2. 检查用户是否已登录

    • useLayoutEffect()app.js文件中,向名为/me的快速路由发送get请求,检查用户是否是登录用户,然后使用: req.session.user发送响应。
  3. 让用户保持登录状态

    • app.js文件将在步骤2中的useLayoutEffect()设置用户状态。

问题:

  1. 以上步骤是否正确,我错过了什么吗?
  2. 什么阻止黑客在app.js手动更改状态,并设置用户状态,从而访问经过身份验证的路由?
  3. 如何保护使用反应路由器编写的路由? 使用快速路由器,我只是添加一个auth中间件,但在反应中,页面没有被发送到服务器端。
  4. 在第一步中,而不是: req.session.user = user ,我应该这样做: req.session.jwt = jwt
reactjs express logging react-router express-session
© www.soinside.com 2019 - 2024. All rights reserved.