我正在为我的 Cordova 移动应用程序使用 iOS 14 设备/模拟器,该应用程序使用了带有 WkWebView 设置的 cordova-plugin-ionic-webview。
我在 config.xml 中设置了以下选项
<access origin="myapp://mobileapp" />
<allow-navigation href="myapp://mobileapp" />
这使我所有的 xhr 调用都具有“ origin:myapp://mobileapp ”标题。我已经适当地定义了所有 CORS 标头。
现在我的身份验证 XHR 调用有 2 个 API (a) 身份验证和 (b) 升级操作。API (b) 将使用 API (a) 设置的 HTTPOnly 安全 cookie 以便做出适当的响应。
上述两个 API 都可以与 UIWebview、iOS 13.5、iOS 13.7 模拟器和设备完美配合。但是在 iOS 14、iOS 13.3 中失败了。在分析时,我看到 API (a) 中发送的 cookie 未存储在 WkWebview 中,因此在调用 API (b) 时它们不会发送。所以第二个 API 无法完成。
我看到cookie 在首次执行、跟踪预防和wkwebview 错误时被忽略,但无法识别问题。
当我在 WkWebview 的 In-AppBrowser 中使用 API 时,API 运行良好,但仅在 Cordova 主视图中失败。
在使用 cusotm来源和跨平台 XHR 调用时,我是否必须在 ionic-webviw 插件中设置任何特殊设置?
我的 XHR 调用是对 "* https://mydomain.app.com/api/firstapi*"和 "* https://mydomain.app.com/api/secondapi*"进行的,而firstapi将发送标头" set- cookie ”,域设置为“.app.com”。那么当我们使用自定义来源进行 XHR 调用时,这些 cookie 将被视为第三方 cookie 还是第一方 cookie?
这里的任何帮助都将非常有帮助。我正在寻找使用 HTTPOnly cookie 实现 Cordova+WkWebView+XHR 登录调用的正确方法