客户端如何知道它是否已登录(passportjs 和服务器上的 express)?

5 authentication node.js express passport.js

我在我的服务器上使用 Passportjs 进行身份验证,我想知道是否在客户端设置了任何值来告诉客户端他们是否已登录。如果没有,您将如何向客户端提供此信息? 客户端是否有权访问有关会话的信息?

  1. 不同的响应头,但在服务器端发送相同的文件,然后在客户端查看响应头以设置“loggedIn”值。
  2. 在页面加载后发送查询,检查用户是否登录,然后设置一个值。
  3. 还有什么?

谢谢!

Som*_*ens 2

一般来说,在express/passport中,如果req.user设置了,那么您可以将用户视为已登录。据我所知,在所有实现中都没有向客户端发送任何特定响应。通常所做的是检查req.user然后检查不同的逻辑流(例如,呈现不同的标头)。您还可以在 HTML 预处理器中呈现该数据。

var isLoggedIn = !!req.user;
res.render('myPage', { loggedIn: isLoggedIn });
Run Code Online (Sandbox Code Playgroud)