【发布时间】:2016-04-28 23:04:48
【问题描述】:
我有一个 API 服务器,其中包含 API 客户端域的 CORS 白名单,我想使用基于 Cordova 的移动应用程序调用相同的 API 服务器。我应该将哪个域添加到 Cordova 客户端的白名单? 而且我当然不想允许所有来源[所以 * 是不可能的] API服务器是运行在NGINX上的PHP
【问题讨论】:
-
我对这种说法感到困惑我想使用基于 Cordova 的移动应用程序调用同一个 API 服务器。您使用的词语在技术上是正确的,但您的问题没有什么意义感觉。我认为您对Cordova whitelist plugin 的工作方式有误解。 FWIW:Cordova/Phonegap 不使用 CORS。
-
问题不在于 Cordova 白名单插件,而在于服务器端白名单。
-
我对此非常清楚。 Cordova/Phonegap 不使用 CORS。 CORS 从客户端开始,作为协议的一部分。在协议中,服务器告诉客户端接受哪些域。 Cordova/Phonegap 忽略这一点。此外,如果您打算将您的应用程序用作网站的包装器,您的应用程序将被 Google 和 Apple 拒绝。
-
再说一次,我认为您对 Cordova/Phonegap 的工作方式存在误解。 FWIW:@Sam 也告诉过你同样的事情。
-
最糟糕的是,您从对科尔多瓦了解很多的人那里得到了很好的答案和 cmets,但您却告诉他们他们错了,而没有尝试他们告诉您的内容。我再告诉你一次。 Cordova 应用程序不会尊重您的服务器 CORS 配置,它们无论如何都会连接,因此您无需在服务器上配置任何内容以允许 Cordova 应用程序连接。在真实设备上尝试。如果某些东西不起作用,则问题不在于服务器 CORS,可能是您的 cordova 白名单插件配置或 CSP 元标记(如果有的话)
标签: javascript api cordova cors