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

时间:2016-01-06 19:33:22

标签: javascript angularjs node.js session passport.js

以下是我与有角度的客户端在设置passport.js后与后端通信时遇到的问题。

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

  • 如果我们确实想要通过passport.js验证用户会话是否仍处于活动状态,那么每次检查req.isAuthenticated()是否真的为真是无效的吗? / p>

  • 角度处理页面如何刷新并且还知道后端护照仍在跟踪会话?

1 个答案:

答案 0 :(得分:0)

我会根据自己的经验尝试回答你的问题。

  

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

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

  

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

这取决于您通过令牌对用户进行身份验证所需的端点数。公共API(例如Facebook API或Twitter API)在每个请求中验证令牌。

  

角度处理页面如何刷新并且还知道后端护照仍在跟踪会话?

实施身份验证服务的最灵活方式是使用exampleinterceptors

我希望有所帮助。