Facebook Owin 인증을 사용 중이며 어느 정도 Microsoft 샘플을 따르고 있습니다. 처음으로 사용자가 로그인하면 더 많거나 적습니다. 다 괜찮습니다. 하지만 로그 아웃하고 다시 시도하면 이전의 .AspNet.Correlation.Facebook은 제거되지 않고 빈 문자열로 설정됩니다. 그래서 API/getexternallogin 내 다음 호출 피들러에서 다음과 같습니다 : 우리가 correlationId가를 생성하고이 시점에서 여러 쿠키가있는 경우OWIN 보안에서 여러 쿠키 문제가 발생했습니다. AuthenticationHandler
이 쇼 스토퍼되지이다. 응답에서, 나는 새로운 correlationId가로 설정 : 페이스 북은 다시 "/ 로그인 절차 - 페이스 북"에 호출 할 때
이나중에, 우리는 correlationId가 ValidateCorrelationId의 방법을 확인하려고합니다.
그래서 새로운 correlationId가 설정되었습니다하지만 Request.Cookies [ "ValidateCorrelationId"], 그것은 빈 문자열을 반환을 갈 때 어떤 값을 추가 쿠키는 의미 : 요청이처럼 보인다.
코드를 확인한 결과이 쿠키를 수정하는 유일한 방법은 GenerateCorrelationId 및 ValidateCorrelationId 인 것 같습니다. 이러한 방법의 구현은 여기에서 찾을 수 있습니다
이 이상하게 브라우저 문제를보고하지 않는 것 :
어떤 아이디어가 많이 이해할 수있을 것이다.
내가 비슷한 것을 직면하고 있다고 생각합니다. 코드 플렉스에서 버그를 신고 했습니까? –
흠, 나는 그 때 생각했다. 방금 한 번 봐서 찾을 수 없었습니다. 그러나 여기에 언급 된 해결 방법이 효과가 있습니다. – Hossein
쿠키를 만료해도 괜찮습니다. 타사 라이브러리 (예 : IdentityServer)를 사용하거나 context.Authentication.SignOut 메서드를 사용하는 경우이 방법은 작동하지 않습니다. 이것은 OWIN/Katana에서 상당히 좌절감을주는 버그입니다. 나는 모든 쿠키를 재결합하는 쿠키 정리 미들웨어를 작성하고 하루 이름 뒤에 쉼표를 고려하여 다시 나누어야했다. – aashishkoirala