Cordova InAppBrowser 并与 webview 共享 cookie

Cordova InAppBrowser and shared cookie with webview

显然,在 Android 上使用 _blank 时,InAppBrowser 不会存储当前会话 cookie。为了使这成为可能,我是否缺少某些设置?它似乎在 IOS 上完美运行,并且在排除故障时有点令人沮丧。当来自 oAuth 的回调发生并且我的服务器读取并分配当前会话所需的数据时,cookie 需要在那里。

我试过的...

1) Adding CookieManager to android Childbrowser(老,我知道)

2) target = _self 实际上会将 cookie 发送到服务器,但打开的弹出窗口会在身份验证后关闭整个应用程序(而不是弹出窗口),必须手动重新打开

3) 更改各种 WebView 属性和设置无济于事。

在进一步研究我的问题后,我发现 InAppBrowser 使用普通的 webview 而我的应用程序 运行 使用 Crosswalk webview,因此两者变得脱节。

我暂时通过删除 Crosswalk 解决了这个问题。

如果有人好奇的话,我的项目使用的是 Ionic#1.3.11 w/ Ionic Crosswalk 浏览器。

如果有人对 Crosswalk 中的 cookie 问题有任何建议或解决方法,我们将不胜感激。

Crosswalk 似乎阻止您将 cookie 传递到 Android 设备上的 inAppBrowser。经过大量挖掘后,我发现了一个关于这个问题的论坛讨论和一个可能的解决方案:

https://forum.ionicframework.com/t/crosswalk-and-inappbrowser/25139

https://github.com/Shoety/cordova-plugin-inappbrowserxwalk

我们的团队还没有 tested/implemented,但看起来很有希望。