サーバーにリクエストするChrome拡張機能の背景ページがあります。 Chromeのデバッグツールを使用すると、さまざまなSet-Cookie
ヘッダーが返されることがわかります。しかし、後続のリクエストにはこれらのCookieが含まれていないため、Chromeはそれらを捨ててしまいます。この結果、サーバーに対して行われた各要求が新しいセッションとしてカウントされます。私が持っている拡張機能内のXMLHttpRequestからのSet-Cookie応答ヘッダーをChromeが無視する
サーバー側には、以下のヘッダは設定:
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true");
クライアント側には、私は、XMLHttpRequestオブジェクトにwithCredentials = true
セットを持っています。
また、拡張マニフェストのアクセス許可セクション内にサーバーのアドレスがあります。
私はここの解決策に非常に近いと感じています。サーバーは正しいヘッダーで応答していますが、ChromeがCookieを保存しないことを決定した理由はわかりません。
ヘッダー、XMLHttpRequestオブジェクトまたはマニフェストに設定する必要があるものはありますか?それともこれはできないのですか?
後続の要求でも、set-cookieヘッダーが返されますか? – Gerben
はい、常に新しいセッションがあるためです。私は最終的に解決策を見つけ出し、下に掲載しましたが、サードパーティのCookieを有効にする必要があるため、少しゴミがあります。 – kanassa