2

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

拒绝连接到'https://api.backand.com/1/objects/player/';因为它违反了以下内容安全策略指令:“default-src 'self' data: gap: 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:*">

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

谢谢

4

2 回答 2

3

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

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

于 2016-04-01T17:44:19.247 回答
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 平台安装插件。

于 2016-03-30T08:23:34.183 回答