我有一个API服务器,它具有API客户端域的CORS白名单,我想使用基于Cordova的移动应用程序调用相同的API服务器。我应该将哪个域添加到Cordova客户端的白名单中? 我当然不希望让所有的起源[所以*是无从谈起] API服务器是NGINX科尔多瓦应用程序的API服务器CORS白名单
回答
运行PHP没有必要改变在服务器端的东西,而访问来自科尔多瓦的应用程序。跨域策略不适用,因为请求超过file://
而不是http
。然而,在科尔多瓦config.xml中,你将需要添加您访问到这样的白名单域名 -
<access origin="http://example.com" />
你可以阅读更多关于它在这里 - https://cordova.apache.org/docs/en/latest/guide/appdev/whitelist/index.html
如果你可以改变服务器限制可以像你说的那样添加另一个域,你可以在某个URL上放置一个代理服务器,让Cordova应用程序与该服务器通话并让代理服务器调用服务器,然后该服务器看起来应该来自列入白名单的域。
不理想,但考虑到你描述的限制,这是一个可行的选择。
您可以使用Node/Express作为代理,或配置nginx,如果熟悉PHP,可以使用PHP,但有几个选项。
您可能还想在代理上启用CORS,以确保在浏览器中测试Cordova应用程序时不会遇到跨源问题。
即使我这样做,我也会允许CORS访问服务器的每个域,只是通过代理而不是直接访问。但我只想让几个域的CORS访问服务器,并允许访问Cordova应用程序。 –
您可以通过配置来限制CORS域,然后可能还会有某种应用程序可以生成的令牌以及服务器为Cordova应用程序进行验证。 –
- 1. 科尔多瓦白名单(Android)
- 2. 科尔多瓦白名单插件
- 3. 科尔多瓦白名单不允许访问我的服务器
- 4. 在JDeveloper中使用MAF构建科尔多瓦白名单(iOS应用程序)
- 5. 科尔多瓦应用程序的MainActivity
- 6. 科尔多瓦应用程序的NullPointerException
- 7. 升级路径:非科尔多瓦应用程序 - 科尔多瓦应用
- 8. 科尔多瓦iOS应用程序
- 9. 科尔多瓦Wordpress应用程序
- 10. 科尔多瓦应用程序空白在铬检查员
- 11. 科尔多瓦运行--debug建设空白应用程序
- 12. CSS白空间:前科尔多瓦应用程序不工作
- 13. 科尔多瓦的域名白名单Android似乎被忽略
- 14. 使用科尔多瓦白名单的Ionic $ http错误404
- 15. angularjs科尔多瓦应用使用科尔多瓦插件
- 16. 科尔多瓦应用程序不能在网络服务器上工作
- 17. 科尔多瓦的OData服务
- 18. 使用科尔多瓦的ePub阅读器应用程序
- 19. 如何动态更改科尔多瓦白名单?
- 20. 科尔多瓦白名单 - URL 404错误
- 21. 离子应用程序后台服务与科尔多瓦的问题
- 22. 从浏览器返回到科尔多瓦应用程序
- 23. 科尔多瓦 - SocketIO我使用的科尔多瓦和socket.io连接到我的服务器的NodeJS不连接
- 24. 科尔多瓦 -
- 25. 科尔多瓦
- 26. 科尔多瓦与创建反应的应用程序内
- 27. 转移电子应用到科尔多瓦应用程序
- 28. 科尔多瓦inappbrowser Facebook登录白屏
- 29. 空白页inAppBrowser科尔多瓦ios
- 30. 使用web的科尔多瓦对等应用程序RTC
我对此陈述感到困惑*我想使用基于Cordova的移动应用程序调用相同的API服务器。*您使用的文字在技术上是正确的,但您的问题没有意义。我认为你对[Cordova白名单插件](https://www.npmjs.com/package/cordova-plugin-whitelist)是如何工作有误解。 FWIW:Cordova/Phonegap不使用CORS。 – JesseMonroy650
问题不在于Cordova白名单插件,而是关于服务器端白名单。 –
我对此非常清楚。 Cordova/Phonegap不使用CORS。作为协议的一部分,CORS从客户端开始。在协议中,服务器告诉客户端接受哪些域。科尔多瓦/ Phonegap忽略此。此外,如果您打算将您的应用程序用作您网站的包装,则您的应用程序将被Google和Apple拒绝。 – JesseMonroy650