2

Identity Server에 로그인하면 인증 쿠키 idsrv가 브라우저에 저장됩니다. 사용자가 로그 아웃하면 쿠키가 삭제됩니다. 그러나 공격자는 쿠키를 훔칠 수 있으며 기본적으로 사용자가 로그 아웃 한 경우에도 쿠키를 사용할 수 있습니다.페더레이션 인증 및 세션 관리

이것은 많은 아이디 공급자에게도 "정상적인"동작으로 보입니다.

질문

는 동작을 가능합니까?

어쨌든 사용자가 로그 아웃했음을 감지하고 idsrv 쿠키 값 (토큰)이 더 이상 유효하지 않음을 감지합니까? 우리는 예를 들어 IAuthenticationSessionValidator를 구현하여 로그 아웃 된 사용자를 추적해야합니까? 또는 id_token session_state 클레임을 사용하여 응용 프로그램에 속해야하는 내용입니까?

+0

이 티켓이 귀하의 질문과 관련이 있습니까? https://github.com/IdentityServer/IdentityServer3/issues/2921 – Arve

+0

아니요. 두 개의 쿠키가 내 애플리케이션에 하나씩, idsrv에 하나씩 저장됩니다. 쿠키를 idsr 및 logout에 복사하여 idsr ends ends endpoint를 호출하면 로그 아웃되고 쿠키가 삭제 된 것을 볼 수 있습니다. 그런 다음 다시 쓴 쿠키를 편집하여 idsr에 쿠키를 붙여 넣을 수 있습니다. 세션 ID (아마도 id_token sid 클레임)는 쿠키에 저장된 토큰에 바인딩되어야하며 유효성을 검사해야한다고 생각합니다. 이것은 종종 .Net 세션 관리와 같은 프레임 워크에 의해 처리됩니다. 그러나 나를 위해 그것은 연합 인증쪽으로 이동하면 잊어 버린 것처럼 보입니다. – jhougen

답변

0

OWASP ASVS 요구 사항 3.2 Sessions should be invalidated on user logout에 따르면 응용 프로그램에서 로그 아웃 한 후에는 동일한 쿠키를 사용할 수 없습니다. ADFS 및 AAD와 같은 다른 ID 공급자를 사용하는 경우에도 마찬가지입니다.