AngularJS Rails X-CSRF-TOKEN禁用一页

时间:2015-03-02 16:49:48

标签: javascript ruby-on-rails angularjs ruby-on-rails-4 csrf

我正在研究“AngularJS + Rails”一书中的一个例子。一个例子是访问Git Repository Api,根据用户名从Github中提取存储库。此功能正常工作,直到下一章扩展角度$ http模块以使用Rails跨站点请求伪造保护。当我返回并使用Gi​​thub页面时,Github拒绝连接并出现以下错误。

[Error] XMLHttpRequest cannot load https://api.github.com/users/dhh/repos.
Request header field X-CSRF-Token is not allowed by Access-Control-Allow-Headers

破坏角度功能的代码:

AngulaRails.config ["$httpProvider", ($httpProvider) ->
  $httpProvider.defaults.headers.common['X-CSRF-Token'] = $('meta[name=csrf-token]').attr('content')
  $httpProvider.defaults.headers.common.Accept = "application/json"
]

所以我知道我必须为抛出错误的一个页面禁用CSRF。什么代码会完成这个?当我更改$ httpProvider默认值时,您能快速解释实际发生的情况吗?为什么它打破了页面?

0 个答案:

没有答案