【问题标题】:Authentication in AngularJS while using a Cookie Based REST based Backend?在使用基于 Cookie 的基于 REST 的后端时在 AngularJS 中进行身份验证?
【发布时间】:2015-11-14 00:27:23
【问题描述】:

我正在使用 AngularJS、NodeJS 和一个应用程序服务器,它为我提供了所有基于 REST 的服务。典型的架构如下:-

现在的事情是我让 cookie 来回传递来管理请求和响应。这有助于我维持会话。但我怀疑这不是管理应用程序身份验证和授权的正确方法。

我想要关于如何最好地维护我的基于 REST 的服务器为我提供 cookie(JSESSIONID) 的会话的建议。请指出参考资料,如果我做错了什么,请告诉我。

注意:我阅读响应代码是为了了解用户是否已登录。请帮忙。

【问题讨论】:

    标签: javascript angularjs node.js rest cookies


    【解决方案1】:

    REST 服务应该是无状态的。对 Rest API 的好评 (http://www.restapitutorial.com/lessons/whatisrest.html#)

    您传递的 cookie 用于身份验证。它告诉您的服务器该用户已通过身份验证,为了提高效率,可以跳过此步骤。

    授权是另一个主题。这是经过身份验证的用户可以在系统中执行的操作。通常用户的角色和权限也存储在会话对象中以提高效率。但是,也有例外。

    例如,oAuth (http://oauth.net/) 使用结合了身份验证和授权的令牌。令牌“告诉”系统你是谁,以及你能做什么。

    【讨论】:

      【解决方案2】:

      您所展示的流程与我和许多其他人在我的 web 应用程序上工作时所使用的流程差不多,但是只要您使用 REST 框架,基于会话或 cookie 的身份验证就不会被认为是最佳选择因为它应该是无国籍的。

      此外,基于 cookie 的身份验证不适用于 CORS 和 CSRF 以及来自 android 和 IOS 应用程序的身份验证。首选基于令牌的身份验证。请查看以下链接了解更多信息

      https://scotch.io/tutorials/the-ins-and-outs-of-token-based-authentication https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/

      让我知道这是否有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-10
        • 2020-10-08
        • 2015-08-12
        • 1970-01-01
        • 2021-08-13
        • 2021-06-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多