Ionic Backand App拒绝连接Android设备上的服务器,而不是仿真器

时间:2016-03-29 15:56:17

标签: visual-studio ionic-framework mobile-development backand mobiledevice.framework

我最近学会了如何使用Ionic构建移动应用程序并需要后端,所以我决定使用Backand框架。我在Visual Studio中开发,从模拟器运行时一切运行良好,并且所有服务调用都能正常工作,但是当我尝试从Android设备执行相同的服务(POST)操作时,我收到以下错误。

拒绝连接到' https://api.backand.com/1/objects/player/' ;;因为它违反了以下内容安全策略指令:" default-src' self'数据:差距:https://ssl.gstatic.com' unsafe-eval

我发现了一个类似的问题,解决方案是我可能需要在index.html的元标记中引用服务器地址

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https: //ssl.gstatic.com 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; connect-src https://api.backand.com:*">

然而这会使应用程序崩溃,现在我已经走到了死胡同,我应该从哪里开始。我很乐意提供可能需要的更多信息,我们将非常感谢任何帮助!

由于

2 个答案:

答案 0 :(得分:3)

这是Cordova的白名单和CSP政策指南:http://taco.visualstudio.com/en-us/docs/cordova-security-whitlists/。如果您对此方案有进一步的问题,请发送电子邮件至vscordovatools@microsoft.com。

披露:我在MSFT的Cordova团队工作

答案 1 :(得分:2)

确保在将android平台添加到应用程序后添加cordova-whitelist-plugin。

命令顺序必须是:

ionic platform add android

之后

cordova plugin add cordova-plugin-inappbrowser
ionic plugin add https://github.com/apache/cordova-plugin-whitelist.git

如果更改顺序,ionic将仅为当前的ios平台安装插件。