我们有一个统一游戏,里面有一个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