Ionic Backand应用程序拒绝连接到Android设备上的服务器,而不是模拟器上的服务器



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

拒绝连接到"https://api.backand.com/1/objects/player/";因为它违反了以下内容安全策略指令:"default src'self'data:gap:https://ssl.gstatic.com'不安全的评估

我发现了一个类似的问题,解决方案是我可能需要引用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:*">

然而,这会使应用程序崩溃,现在我已经走到了一条死胡同,不知道该何去何从。我很乐意提供更多可能需要的信息,任何帮助都将不胜感激!

感谢

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

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

确保在将android平台添加到应用程序后添加cordova白名单插件。

命令的顺序必须是:

ionic platform add android

之后是

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

如果您更改订单,ionic将只为当前的ios平台安装插件。

最新更新