在使用基于Cookie的基于REST的后端时在AngularJS中进行身份validation?

我正在使用AngularJS,NodeJS和一个应用程序服务器,它为我提供了所有基于REST的服务。 典型的架构如下: 在这里输入图像描述

现在的事情是我把cookie传递给Fro来pipe理请求和响应。 这有助于我维持会议。 但是我怀疑这不是pipe理应用程序的authentication和授权的正确方法。

我想build议如何最好地维护基于REST的服务器为我提供cookie的会话(JSESSIONID)。 请指出参考,并让我知道如果我做错了什么。

注:我读了响应代码,以了解用户是否login。 请帮忙。

REST服务应该是无状态的。 Rest API的一个很好的回顾( http://www.restapitutorial.com/lessons/whatisrest.html#

您传递的cookie用于身份validation。 它告诉你的服务器这个用户已经被authentication了,为了提高效率,这个步骤可以被跳过。

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

例如,oAuth( http://oauth.net/ )使用结合authentication和授权的令牌。 令牌“告诉”系统你是谁,也可以做什么。

您已经显示的stream程非常多,而且在处理我的web应用程序时很多其他人员正在使用这些stream程,但是只要您使用REST框架,基于会话或基于cookie的身份validation就不会被视为最佳select应该是无国籍的。

此外基于Cookie的身份validation不适用于CORS和CSRF以及来自android和IOS应用程序的身份validation。 基于令牌的authentication是首选。 请参阅以下链接了解更多信息

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 /

让我知道这是否有用。