首页 > 解决方案 > ReactJs 如何检查 ExpressJs 生成的用户认证和 sessionID

问题描述

当用户通过身份验证时,我有一个 Nodejs 应用程序创建会话。我看到 Expressjs 将 sessionID 存储在一个 cookie 中,该 cookie 目前是 HttpOnly 并且会话信息本身存储在服务器端。

如何检查用户是否已通过身份验证并且是否存在来自 ReactJS(即浏览器端)的打开会话?我认为唯一的方法是尝试访问该 sessionID?什么是实现这一点的好方法?

谢谢。

标签: reactjsexpresssessionid

解决方案


注册或登录应在 React 上向客户端响应必要的用户信息,以便将用户信息存储在应用程序状态(Redux/Flux)中。express 服务器存储为 HttpOnly cookie 的 sessionId 仅用于 Express 以唯一区分浏览器会话。

理想情况下,您还需要另一个 API 来返回在 Express 服务器端应该读取 sessionId cookie 并将 currentUser 信息返回给客户端的用户信息。假设,您登录并且用户信息存储在 UI 应用程序状态中,当您刷新浏览器时,此应用程序状态将被刷新。在这种情况下,此 API 将帮助使用当前登录的用户信息恢复应用程序状态。希望这可以帮助。


推荐阅读