ReactJs如何检查ExpressJs生成的用户身份验证和sessionID

时间:2018-05-12 01:47:42

标签: reactjs express sessionid

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

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

感谢。

1 个答案:

答案 0 :(得分:0)

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

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