Microsoft Edgeで動作しないサイトを継承しました。 ajax投稿要求を使用しようとすると、403エラー、CSRFトークンの不一致が発生します。私はそれぞれのページの負荷でそれらを更新するので、奇妙です。サーバー側でリクエストデータを調べた後、これらのセッションがすべて作成されていることに気付きました。クライアントから送信されたクッキーはありません。クッキーは、一致するCSRFトークンを持つセッションIDを持ちます。jsセッションがMicrosoft Edgeで動作しない
$.ajax({
url: '/main/doThing',
method: 'POST',
xhrFields: { withCredentials: true },
data: {stuff: 3, _csrf: csrf},
});
クッキーの設定:ここでは
は、要求がどのように見えるのです
cookie: {
maxAge: 24 * 60 * 60 * 1000,
httpOnly: true,
secure: false,
path: '/',
}
私が来ている結論はエッジがサーバにセッションクッキーを送信していないということです。
私が試した他のすべてのブラウザ(Chrome、Firefox、Safari)ではこれがうまく動作します。これはブラウザの問題でしょうか?私はEdgeのクッキーをブロックしていません。
誰も同様の問題に遭遇しましたか?それは修正可能ですか?または回避策がありますか?