HTTPSウェブサイトにログインするアプリを開発しています。認証後、Webサイトは「セキュア」とマークされた最終的なクッキーを送信します。バックグラウンドNSURLSessionでセキュアなCookieが失われたのはなぜですか?
NSURLSession()
にdefaultSessionConfiguration()
を使用するとアプリが動作します。
backgroundSessionConfigurationWithIdentifier()
を使用するようにアプリ内の1行を変更すると、認証段階を過ぎることはできません。私は、私が認証されていることを示すWebページを取得しますが、その後のリクエストはログインページを返します。
「認証成功クッキー」は、共有クッキーストレージに存在しないようです。
このCookieは、Webサイトが「安全」とマークする唯一のCookieです。このHTTPS Webサイトは、すべてHTTPS経由でトランザクションを実行します。
TL; DR NSURLSessionのバックグラウンドセッションは、セキュアなCookieを失うためにデフォルトのセッションとは何か異なりますか?
編集:私はもう少し作業をしました。 NSURLSession
は、リダイレクトのヘッダに送られたクッキーを無視するように見えるbackgroundSessionConfiguration
を使用してをリダイレクト
? (私はクッキーが「安全」であるとは限りません。)
defaultSessionConfiguration
が指定されていると、リダイレクトが正しく機能します。
を参照してください。** – Vin
申し訳ありません。私はこれが** iOSアプリ**であると言わざるを得ない。そのため、クッキーはアプリのsharedStorageにのみ保存されます。 – andymc