Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angular.js了解passport.js会话是否已设置的最佳方式是什么?_Javascript_Angularjs_Node.js_Session_Passport.js - Fatal编程技术网

Javascript angular.js了解passport.js会话是否已设置的最佳方式是什么?

Javascript angular.js了解passport.js会话是否已设置的最佳方式是什么?,javascript,angularjs,node.js,session,passport.js,Javascript,Angularjs,Node.js,Session,Passport.js,以下是我在客户端与设置了passport.js的后端对话时遇到的问题 如果我让angular处理我的所有路由,前端在浏览站点时如何知道用户会话是否仍然处于活动状态?最简单的方法和最佳实践方法 如果我们确实想通过passport.js验证用户会话是否仍然处于活动状态,那么每次执行http请求以检查req.isAuthenticated()是否为真是否效率低下 angular如何处理页面刷新并知道在后端passport仍在跟踪会话 我将根据自己的经验回答您的问题 如果我让angular处理我的所有

以下是我在客户端与设置了passport.js的后端对话时遇到的问题

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

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

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


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

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

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

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

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

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

实现身份验证服务最灵活的方法是使用


我希望这能有所帮助。

如果passport实现了passport local,在这种情况下会使用passport代币吗?我不明白你的意思。请给我举个例子。但是,基于令牌的身份验证可以与passport local一起使用。看看这个