IE8で自分のサイトへのログインが一貫して機能しないという問題が発生しました。Firefox / Chrome / Safariでは正常に動作しますが、IE8では正常に動作しません。
最初のログインでは、すべてが正常です。ログアウトして再度ログインしようとすると、通常はしばらく失敗します。認証後にログインページにリダイレクトされることになります。
したがって、認証は成功し、trueを返しますが、IE8は、以下を返すことによって設定したセッションIDの新しい値を受け入れていないようです。
Set-Cookie SESSIONID = ........; パス=/
応答ヘッダー内。しかし、明らかにこれはクリアキャッシュで機能し、問題なく動作します。しかし、すでにそこにあるとリセットに失敗するため、認証して新しいページに移動しようとすると、これがブラウザから送信されている古いセッションIDであることがわかり、ログインページにリダイレクトされます。
これを本当に解決するものはここや他の場所では見つかりませんでした(キャッシュをクリアする以外に)。IE8 Cookieの問題へのほとんどの参照は、言語/フレームワーク固有であり、この問題に答えません。
これを機能させるためにset-cookieで行う必要がある特別なことはありますか?
アップデート:
Cookieを受け入れる前にプロンプトを表示するようにIE8を設定しました。ログインが正常に機能すると、期待どおりにプロンプトが表示されます。それが機能しないときは、cookieを除いてプロンプトも表示されません。
更新2:
cookieはajax呼び出しの後に設定されることが期待されていることを述べておかなければなりません:
$ .get(authenticate_url、....)
応答を要求するURLは、セッションIDを設定するヘッダーを返します。その後、コールバック関数で、ユーザーはメインページにリダイレクトされます(ログインが成功した場合)。