angular.js知道passport.js会话是否已设置的最佳方式是什么

what is the best way for angular.js to know whether passport.js session is set or not?

本文关键字:js 最佳 是什么 设置 方式 是否 知道 passport 会话 angular      更新时间:2023-09-26

以下是我遇到的与设置了passport.js的angular客户端与后端通信有关的问题。

  • 如果我让angular处理我的所有路由,前端如何知道在浏览网站时用户会话是否仍处于活动状态?最简单的方法和最佳实践方法?

  • 如果我们确实想通过passport.js来验证用户会话是否仍然处于活动状态,那么每次都进行http请求来检查req.isAuthenticated()是否真的为true是否效率低下?

  • angular如何处理页面刷新,并知道在后台passport仍在跟踪会话?

我会根据自己的经验回答您的问题。

如果我让angular处理我的所有路由,前端如何知道在浏览网站时用户会话是否仍处于活动状态?最简单的方法和最佳实践方法?

客户端只知道令牌。无状态服务器必须在每个需要它的请求中验证它。因此,处理会话状态的最佳方式是通过服务器。它只知道基于令牌的会话状态。请不要将状态验证令牌与有状态服务器混淆

如果我们确实想通过passport.js来验证用户会话是否仍然处于活动状态,那么每次都进行http请求来检查req.isAuthenticated()是否真的为true是否效率低下?

这取决于需要多少个端点通过其令牌对用户进行身份验证。公共API,如Facebook API或Twitter API,在每个请求中验证令牌。

angular如何处理页面刷新,并知道在后台passport仍在跟踪会话?

实现身份验证服务最灵活的方法是使用例如拦截器。

我希望这能有所帮助。