使用基于Cookie的REST后端时AngularJS中的身份验证?

时间:2015-07-24 14:55:50

标签: javascript angularjs node.js rest cookies

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

现在问题是我将cookie传递给Fro以管理请求和响应。这有助于我维持会话。但我怀疑这不是管理应用程序身份验证和授权的正确方法。

我想了解如何最好地维护基于REST的服务器为我提供cookie(JSESSIONID)的会话。请指出参考文献,如果我做错了,请告诉我。

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

2 个答案:

答案 0 :(得分:0)

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

的好评

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

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

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

答案 1 :(得分:0)

你所展示的流程非常多我和其他许多人习惯在我的webapps上工作,但是只要你使用REST框架,会话或基于cookie的身份验证就不被认为是最好的选择因为它应该是无国籍的。

此外,基于cookie的auth无法与CORS和CSRF以及Android和IOS应用程序的身份验证配合使用。基于令牌的auth是首选。有关更多信息,请参阅以下链接

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/

请告诉我这是否有用。