web-dev-qa-db-ja.com

iOS 13ベータ版WebKitがCookieのサポートを破る

私は、現在比較的大規模なユーザーベースで動作するCordovaベースのアプリを持っています。 this one which Apple=は修正されません)を除いて、これまでのところ問題ありませんが、問題はありません。

しかし、ここにiOS 13(ベータ8)があり、このリリースのWebKitはCookieをサーバーに送信しないことはまったくありません。一度も、最初も、決して。 iOS 13のリリースは数週間先になり、すべてのユーザーがiOS 13にアップグレードしてアプリが動作しなくなった場合、どうすればよいかわかりません...

セッション管理にはcookieを使用します。派手なものではなく、クラシックな古いJettyベースのバックエンドです。初回使用時の問題に対して私が行った回避策は、各リクエストでjsessionidパラメータをURLに追加し、それをサーバー側で削除し、Cookieに変換して、さらにチェーンに送信することです。 WebKitがCookieの返信を停止すると仮定して、いつでもそれを使用しても安全かどうかはわかりません。保留中のいくつかの関連するバグを以下に示しますが、Appleがそれらを確認することはほとんどありません。

同様の問題が発生している人はいますか?どのように対処しますか?

6
Dima

WebKit team によって承認および修正され、iOS 13.2でリリースされました。ベータ版をテストしましたが、今は動作しているようです。

0
Dima

このプラグインを追加 https://github.com/Oracle/cordova-plugin-wkwebview-file-xhr 、XHRリクエストをインターセプトし、このプラグインで処理します。わたしにはできる。

1
Doctor.Who.

私のionic 3アプリで同じ問題が発生しました。次を使用した回避策が見つかりました:

RxjsからのAPI呼び出しをネイティブのObjective Cのhttp呼び出しに置き換えることにより、Cookieはバックエンドのhttp応答から適切に保持されます。たぶん、これで試すことができます...

1