- URLに対するシリアル化されたCookieをCookieストアに追加する。これは、発信リクエストのCookieリクエストヘッダーに関連付けられます。
- CookieストアからすべてのCookieを消去する。
Cookieの保存状態
WebViewによるCookieの管理では、一時的なセッションCookieはアクティブメモリに保持され、高速アクセスが可能になります。一方、永続的なCookieはアプリのプライベートストレージディレクトリに安全に保存されます。永続的なCookieとは、特定の有効期限のあるCookieです。開発者は、リモートデバッグを有効にし、接続されたデバイスでChrome DevToolsの [アプリケーション] パネルを使用することで、この保存状態を調べたり操作したりできます。このインターフェイスは、現在のオリジン(ページのスキーム、ドメイン、ポート)のアクティブなCookieをすべて表示する手段を提供します。ここでは、値を直接編集したり、データを手動で消去したり、HttpOnly、Secure、SameSiteなどの重要なセキュリティ属性が正しく適用されているかどうかを確認したりできます。
Cookieが期待どおりに動作しない原因についてトラブルシューティングを行うには、DevToolsの [ネットワーク] パネルに切り替えて、ネットワークリクエストで交換されるCookieヘッダーとSet-Cookieヘッダーをモニタリングします。これにより、拒否されたCookie、構文エラー、クロスサイトポリシー違反を特定できます。
WebView Cookieマネージャーの詳細
Cookieオブジェクトには次のフィールドがあります。| フィールド | 型 | 必須(○/×) | 説明 |
|---|---|---|---|
name | string | Y | nameは、ペアの名前を表します。 |
value | string | Y | valueは、ペアの値を表します。値が空のCookieは拒否され、何も実行されません。ほかの値が存在する場合、valueフィールドは空の値として維持されます。 |
path | string | N | path属性の値は、このCookieのオリジンサーバー上のURLのサブセットを表します。pathの指定がない場合、このCookieを設定したUniform Resource Identifier(URI)を指定したものと見なされます。 |
domain | string | N | domain属性の値は、Cookieが有効なドメインを表します。domainの指定がない場合、ドメインにそのサブドメインからアクセスすることはできなくなります。 |
version | string | N | Cookieの状態管理仕様のバージョンを識別します。デフォルト値は空の文字列です。 |
expires | string | N | Cookieの最大有効期間をHTTP日付タイムスタンプとして示します。ISO8601形式の文字列で指定する必要があります。有効期限文字列が指定されていない場合、CookieはセッションCookieとして扱われ、ユーザーがWebViewセッションを閉じるまで保持されます。 |
secure | boolean | N | CookieをHTTPS接続に制限して安全に保ちます。 |
httpOnly | boolean | N | JavaScriptがdocument.cookieを通じてCookieにアクセスすることを防ぎます。 |
CookieストアにURL Cookieを追加
CookieストアのすべてのCookieを消去
set()メソッドは、URLにCookieを1つだけ設定します。- 同じ名前のCookieが既にある場合、そのホストとパスが置き換えられます。このSet-Cookieドキュメントで説明されているように、domain値はCookieのホストを設定します。
- Cookieストアは、有効期限の切れたCookieを無視します。
- CookieストアはWebViewインスタンス間で共有されます。異なるアプリ間でCookieストアが共有されることはありません。同じアプリ内の複数のWebViewインスタンスでは、Cookieストアを含む共通のエンジンが共有されます。
- 現時点では、アプリのReact NativeレイヤーでCookieストアを読み取ることはできません。

