在Rack-Cors中处理CORS,原点为null

时间:2018-01-30 15:38:53

标签: cors wkwebview rack-cors

我们有一个统一游戏,里面有一个webview。我们已经升级了,现在webview是一个WKWebview,现在已经开始做CORS了。当我从该webview中运行的javascript发出请求时,原点为null。请求被拒绝。

这是请求,复制为卷曲请求

curl ’https://www.example.com/foo/bar/' \
-XGET \
-H ‘Accept: application/json, text/plain, */*’ \
-H ‘User-Agent: Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Mobile/15A372’ \
-H ‘Origin: null’

在我的Rack cors配置中,如果我有

config.middleware.use Rack::Cors do
  allow do
    origins '*'
    resource '/foo/bar/', headers: :any, methods: %i[ get put options ]
  end
end

然后一切正常。但我宁愿不必将其作为通配符,而是希望匹配null。

我尝试了'null'/null/而不是'*',但都没有效果。

是否只允许空源?

编辑: Here is a link to the the screenshot of my request

这是cors config

config.middleware.use Rack::Cors do
  allow do
    origins  /^.*\.sumdog\.com$/
    resource '/assets/avatar_assets/*',      headers: :any, methods: %i[ get options ]
    resource '/api/online_edge_urls/random', headers: :any, methods: %i[ get options ]
    resource '/api/assessment/*',            headers: :any, methods: %i[ get post options ]
  end

  allow do
    origins 'null'
    resource '/api/user/setting/',           headers: :any, methods: %i[ get put options ]
  end
end

0 个答案:

没有答案