我正在使用AngularJS,NodeJS和一个应用程序服务器,它为我提供了所有基于REST的服务。典型架构如下: -
现在问题是我将cookie传递给Fro以管理请求和响应。这有助于我维持会话。但我怀疑这不是管理应用程序身份验证和授权的正确方法。
我想了解如何最好地维护基于REST的服务器为我提供cookie(JSESSIONID)的会话。请指出参考文献,如果我做错了,请告诉我。
注意:我阅读了响应代码以了解用户是否已登录。请帮忙。
答案 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/
请告诉我这是否有用。