Node.js CORS会话cookie与Angular.js

我使用CORS和Angular.js使用Node.js进行简单的login。

也就是— client.example.com也发布POST api.example.com/login成功的一个会话cookie也返回client.example.com并且也可以访问GET服务,比如api.example.com/secret由会话cookie保护的api.example.com/secret

使不受会话cookie保护的GET请求不成问题。

最终,这里的目标是将一个客户端应用程序authentication为REST api,即使上面的约定不可行,也可以使用CORS与本地策略(即用户名和密码)进行validation。

我无法从任何地方find一种有用的学习方法—指引我走向正确的方向?

奖金:显示一个工作示例。

您的问题非常简单,浏览器不允许发送在一个域中设置的Cookie发送到不同的域。
这是为了安全。 如果您的会话cookie可以从任何域访问,那么任何站点都可以执行csrf(根据定义,您要做的是做csrf – 使用来自不同站点的一个站点的会话)。

有办法解决这个问题,但是在使用时应该小心。

  • 最简单的方法是通过使用Jsonplogin和跨域请求,jsonp基本上打破了cookie的跨域策略。

  • 您可以在位于api.example.com client.example.com页面中embeddediFrame,父级和iFrame可以使用邮件进行通信。

这两种方式对csrf请求都是开放的(就其性质而言),所以您应该特别小心您允许client.example.com访问哪些信息。