【问题标题】:Check origin in Rails 5 API在 Rails 5 API 中检查来源
【发布时间】:2017-01-04 06:50:25
【问题描述】:

我正在使用 Rails 5 API 构建应用程序。目前,任何向我的 Rails 服务器发送请求的人都可以收到响应。

我只想处理来自 mydomain.com 的请求

我该怎么做?

【问题讨论】:

标签: ruby-on-rails rails-api


【解决方案1】:

我相信您会希望在您的 API 上实现 CORS。

只需添加rack-cors gem。

并添加:

 #config/application.rb
config.middleware.insert_before 0, Rack::Cors do 
    allow do 
          origins 'mydomain.com' resource '*', :headers => :any, :methods => [:get, :post, :options] 
     end 
 end

请仔细阅读其documentation

您会在那里找到非常有用的信息。

【讨论】:

  • 我启用了 rack-cors gem & run bundle。将配置代码放在 application.rb 但我仍然可以从任何地方发送请求。
  • 您是否指定了允许的来源?您是否停止并重新启动服务器以便加载更改?
  • 是的,将 mydomain.com 指定为来源并也重新启动了服务器。
  • 它在 Chrome 中运行,但 Safari 以某种方式绕过它。我可以有更严格的实施吗?
  • 您可以指定一个标头,该标头必须包含在请求中才能被接受。但是我不明白为什么它只能在 chrome 上工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-20
  • 1970-01-01
  • 2019-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-03
相关资源
最近更新 更多