机架cors gem和设置访问控制允许原点标头

机架cors gem和设置访问控制允许原点标头,cors,rack,Cors,Rack,使用机架cors gem时,是否有办法设置“访问控制允许原点”标题值 我们正在使用rack cors gem来管理Grape应用程序的cors 我想发回一个永久重定向,并将它们从当前子域重定向到另一个子域。葡萄编码是: redirect 'subdomain2.oursite.com, 'Access-Control-Allow-Origin' => '*',permanent: true 但这不起作用,因为机架cors会用请求所处的当前URL覆盖Access Control Allo

使用机架cors gem时,是否有办法设置“访问控制允许原点”标题值

我们正在使用rack cors gem来管理Grape应用程序的cors

我想发回一个永久重定向,并将它们从当前子域重定向到另一个子域。葡萄编码是:

redirect 'subdomain2.oursite.com, 'Access-Control-Allow-Origin' => '*',permanent: true 
但这不起作用,因为机架cors会用请求所处的当前URL覆盖Access Control Allow Origin标头值,从而导致cors飞行前错误


所以需要一种方法来设置值

我的API也有类似的问题,在这里偶然发现了这个问题。虽然没有提供有效的解决方案,但我设法找到了一个适合我的解决方案

class Api::BaseController < ActionController::API
  respond_to :json
  before_filter :set_cors_header
  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

  def set_cors_header
    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-Typee, Accept, Authorization'
  end
end
class Api::BaseController