使用Apple App Test,ionic和pouchDB的内容安全策略

时间:2017-03-02 09:50:50

标签: ios cordova ionic-framework pouchdb content-security-policy

我们在iOS,WinPho,Android中使用ionic和pouchDB(Couch DB)。 除了在Apple App Store Test中我们看到api调用的服务器日志,但是没有沙发调用,所有工作都很好。 所以

    https://api.example.com connects OK
    https://couch.example.com doesn't connect

它始于iOS 10.我们调整了CSP,它运行良好。现在它又停止了工作。 这是CSP:

<meta http-equiv="Content-Security-Policy" 
       content="default-src 'self' * blob: gap://ready file://*;
       style-src 'self' 'unsafe-inline';
       script-src 'self' 'unsafe-inline' 'unsafe-eval' *;
       media-src *"/>

除了在Apple的测试实验室(Cupertino)之外,我们真正不理解的是为什么它无处不在。 Apple Docs指向W3C上的CSP2.0(下面的链接),但不清楚这些是如何被遵循的,例如,有人说所有指令都没有遵循'*'政策。 https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_0.html

1 个答案:

答案 0 :(得分:0)

因此,事实证明这是由两段代码之间的竞争条件引起的时间问题。 库比蒂诺的网络连接时间在一个窗口中,只能使用Apple Network Link Conditioner重现。

Javascript承诺中的一段代码试图在输入凭据之前启动会话,然后淘汰另一个对话框创建的会话。