私は Facebook Owin 認証を使用しており、多かれ少なかれ Microsoft のサンプルに従っています。初めてのユーザーのログインに多かれ少なかれ従っていますが、すべて問題ありません。しかし、サインアウトして再試行すると、以前の .AspNet.Correlation.Facebook が削除されていないように見えますが、空の文字列に設定されています。したがって、次の api/getexternallogin への呼び出しは、Fiddler では次のようになります。
これは、correlationId を生成しているときであり、この時点で複数の Cookie を持っていてもショー ストッパーではありません。応答で、新しい CorrelationId に設定しました。
後で facebook が "/signin-facebook" にコールバックすると、ValidateCorrelationId メソッドでcorrelationId を検証しようとします。リクエストは次のようになります。
したがって、新しい CorrelationId が設定されましたが、値のない余分な Cookie は、Request.Cookies["ValidateCorrelationId"] に移動すると空の文字列を返すことを意味します。
コードを確認したところ、この Cookie を変更するメソッドは GenerateCorrelationId と ValidateCorrelationId だけのようです。これらのメソッドの実装は、次の場所にあります。
不思議なことに、私のブラウザは問題を認識していないようです:
どんなアイデアでも大歓迎です。