AndroidのChrome 63がリリースされて以来、2017年12月6日に、私の会社CordovaベースのAndroidアプリに問題が発生しました。このアプリには、ユーザが自分の会社の電子商取引ウェブサイトの一部をアプリ内からナビゲートできるIFrameが含まれています。Android Cordova App with IFrame Chrome 63要求ヘッダーがありません。Cookies
IFrameにロードされたページ間のナビゲーションは、リクエストヘッダーにクッキー情報を送信しなくなりました。
クッキーに保存されているセッションIDなどの情報は、次のページに渡されず、次のページがまったく新しいユーザーセッションを開始します。
しかし、奇妙なのは、IFramesのページ内で実行されたAJAX呼び出し(バスケット内のアイテム数を取得するなど)とアセットリクエスト(CSS js、イメージファイルなど)はリクエスト内でCookie情報を送信するヘッダーは正常です。これらのヘッダーのセッションIDは、ページ間で同一であり、セッションの永続性を示します。
クッキーは作成されていますが、企業ドメインのアプリケーションパネルでChromeデベロッパーツールを使用しているときに表示されます。彼らはちょうど次のページに渡されていません。
この問題は、Android 7.1.1デバイスで発生しました。このデバイスでChromeアプリを無効にすると、アプリ内のIFrameのCookieリクエストヘッダーが正常に機能しなくなるため、おそらくCordova Webviewは無効になってもChromeを使用していないようです。
誰でもこの問題の原因が分かっていますか? Chrome 63のSameSite Cookieや厳密なサイト分離の変更やその他のセキュリティ関連の変更に関連するものであれば何ですか?
問題は、2016年10月に固定し、このクロムのバグのように表示されます。 https://bugs.chromium.org/p/chromium/issues/detail?id=634311
のWebViewしかしコルドバライブラリ(コルドバのAndroid 6.4.0)のSystemCookieManagerクラスで有効になってサードパーティクッキーを持っています:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
cookieManager.setAcceptThirdPartyCookies(webView, true);
}
明確に何も指定していないと謝罪します。誰もがこの問題を手伝うことができれば、私は追加情報を提供できてうれしいです。
説明のおかげで、同じ問題が発生しました。それはiframeを使用しているように見えるCordovaではない証拠ではない、それはセキュリティの制限を取得し続けます。私たちは、themeablebrowserまたはcordova inappbrowserを使用することを検討しています。 – Jerem
これはChrome対System WebViewのようではありませんが、純粋にバージョンに関連しています。私の電話では、System WebView v63とChrome v62があります。この設定では、アプリは上記の問題を抱えています。 システムWebViewの更新を削除すると、問題は解決します。 Chromeをv63に強制的に更新する方法はありません。v62はインストールできる最新のバージョンです。だから私は確かに、どのエンジン/バージョンがその場合に使用されるのかはわかりません。 –