我最近学会了如何使用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:*">
然而这会使应用程序崩溃,现在我已经走到了死胡同,我应该从哪里开始。我很乐意提供可能需要的更多信息,我们将非常感谢任何帮助!
由于
答案 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平台安装插件。