适用于Cordova App的API Server CORS白名单

时间:2016-01-22 11:03:21

标签: javascript api cordova cors

我有一个API服务器,它有一个用于API客户端域的CORS白名单,我想使用基于Cordova的移动应用程序调用相同的API服务器。我应该将哪个域添加到Cordova客户端的白名单中? 我当然不希望允许所有来源[所以*是不可能的] API服务器是在NGINX上运行的PHP

2 个答案:

答案 0 :(得分:1)

如果您可以更改服务器限制以添加另一个域,就像您说的那样,您可以将代理放在某个地址的URL上,让Cordova应用程序与之通信并让代理向您的服务器发出呼叫,这应该会出现来自列入白名单的域名。

不理想,但鉴于您所描述的限制,它是一个可行的选择。

你可以使用说Node / Express作为代理,或者配置nginx,如果熟悉那就使用PHP,还有一些选择。

您可能还希望在代理上启用CORS,以确保在浏览器中测试Cordova应用时不会遇到跨源问题。

答案 1 :(得分:0)

从Cordova应用程序访问时,无需在服务器端更改任何内容。由于请求超过file://而非http,因此不会应用跨域策略。但是,在Cordova config.xml中,您需要将要访问的域添加到白名单中 -

<access origin="http://example.com" />

您可以在此处阅读更多相关信息 - https://cordova.apache.org/docs/en/latest/guide/appdev/whitelist/index.html