【问题标题】:what is the best way for angular.js to know whether passport.js session is set or not?angular.js 知道是否设置了 passport.js 会话的最佳方法是什么?
【发布时间】:2016-01-07 05:16:47
【问题描述】:

以下是我遇到的与设置了 passport.js 的 Angular 客户端与后端对话相关的问题。

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

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

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

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

    希望对你有帮助。

    【讨论】:

    • 如果护照在本地实施护照,令牌是否适用于这种情况?
    • 我不懂你。请,可以给我一个例子。但是,基于令牌的身份验证可以与本地护照一起使用。看看这个passportjs.org/docs
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多