【问题标题】:Setting-up CORS - 'Access-Control-Allow-Origin' with ruby使用 ruby​​ 设置 CORS - 'Access-Control-Allow-Origin'
【发布时间】:2015-10-29 08:52:31
【问题描述】:

我对编码还很陌生,目前正在学习 Devise/Omniauth。我正在编写一个教程,以让用户通过 Omniauth 与 Facebook 连接为例,但在控制台中出现以下错误:

XMLHttpRequest cannot load https://www.facebook.com/dialog/oauth?client_id=... No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.

我了解出于安全原因,某些浏览器不允许 CORS 请求。我确实在 StackOverflow 上找到了许多相关主题(link1link2link3link4link5),主要是允许

Access-Control-Allow-Origin: *

我试过了,但无法让它工作。因为我使用的是 ruby​​,所以我还发现有一个名为 (Rack-Cors) 的 gem 允许使用 ruby​​ 进行 CORS 请求,我心想“酷,我得救了”,但我也无法让它工作.

用完了选项,因为我正在运行 Chrome,我也尝试以这种方式打开 chrome

open /Applications/Google\ Chrome.app --args --disable-web-security

它也没有工作。过去几天我尝试了不同的方法,但无法让 Omniauth Facebook 登录工作(PS:我已在我的应用程序的 Facebook 开发人员设置页面中允许访问 http://localhost:3000/

请在 Github 上找到我的存储库的链接: repository

我做错了什么?是否有一些特定的方法来设置我缺少的 CORS?如果有人可以帮助或知道如何使其与 ruby​​/chrome 一起使用,将不胜感激。谢谢。

【问题讨论】:

    标签: ruby-on-rails devise cors omniauth same-origin-policy


    【解决方案1】:

    你可以使用 rack-cors gem 来解决这个问题

    我们之前已经谈过类似的问题吧here

    【讨论】:

      猜你喜欢
      • 2016-09-30
      • 2014-11-01
      • 2017-07-15
      • 2019-11-20
      • 2015-09-19
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      • 2018-03-05
      相关资源
      最近更新 更多