【问题标题】:Rails 4.2 and cross-domain cookies to allow reading of cookie dataRails 4.2 和跨域 cookie 允许读取 cookie 数据
【发布时间】:2016-02-03 00:25:49
【问题描述】:

我有一个 Rails 4.2 应用程序正在从另一个域获取请求。我希望他们发送我们在 javascript 中设置的 uuid。它适用于本地主机,但不能跨域。在我们的 application_controller.rb 我有:

class ApplicationController < ActionController::Base

 after_filter :cors_set_access_control_headers

  def cors_set_access_control_headers
    headers['Access-Control-Allow-Origin'] = '*'
    headers['Access-Control-Allow-Methods'] = 'POST, PUT, DELETE, GET, OPTIONS'
    headers['Access-Control-Request-Method'] = '*'
    headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept, Authorization'
  end

但我无法获得如下值:

cookies[:uuid]

我还需要执行其他步骤吗?

【问题讨论】:

    标签: javascript ruby-on-rails ruby-on-rails-4 cookies


    【解决方案1】:

    没有你的日志,我没有任何具体的建议。

    但是,使用 Rack::CORS gem 会更好。这提供了中间件,使 CORS 请求的权限变得更加简单:

    #Gemfile
    gem "rack-cors"
    
    #config/application.rb
    config.middleware.insert_before 0, "Rack::Cors" do
      allow do
         origins '*'
         resource '*', headers: :any, methods: [:get, :post, :options]
       end
    end
    

    这将允许 any 请求(来源)到 any 资源 - 最好使用上面的细节(IE origins "google.com")。

    这应该会为您解决 CORS 问题。

    【讨论】:

      猜你喜欢
      • 2014-06-25
      • 2014-03-13
      • 1970-01-01
      • 2012-06-14
      • 2012-01-19
      • 2015-12-19
      • 2016-04-21
      • 1970-01-01
      • 2011-01-20
      相关资源
      最近更新 更多