작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
99
0
처음 서버 run 하고 google, naver, keycloak 전부 처음에는 아이디, 비밀번호를 입력하는 사용자입력이 필수적인데, 한번 로그인하고 나서는 웹어플리케이션 서버를 종료하고 다시 시작해도 구글, 네이버, keycloak 계정으로 로그인하는 과정이 필요없이 바로 인증이 됩니다. 왜이런건가요? 로그아웃했으면 당연히 다시 로그인하는 과정이 필요한데 이러면 잘못된거 아닌가요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 에욱님.
사용자가 로그아웃을 했음에도 불구하고 다시 로그인할 때, 사용자의 입력을 요구하지 않는 이유는 일반적으로 브라우저에 저장된 인증 쿠키나 세션 때문일 수 있습니다. 이러한 쿠키나 세션은 로그아웃 시 명확히 삭제되지 않았기 때문에, 다시 시작했을 때 로그인 과정을 자동으로 통과하게 됩니다.
다음은 이 문제를 해결하기 위한 몇 가지 방법입니다:
로그아웃 처리 강화: 로그아웃 시, 모든 세션과 쿠키를 명확히 삭제하도록 설정합니다. Spring Security를 사용할 때 SecurityContextLogoutHandler
를 활용하여 세션과 쿠키를 관리할 수 있습니다.
브라우저 캐시 및 쿠키 초기화: 로그아웃 후 브라우저의 캐시와 쿠키를 수동으로 삭제하여 세션 정보를 초기화할 수 있습니다.
OAuth2 설정 점검: 특정 OAuth2 제공자는 로그아웃을 처리하는 별도의 엔드포인트를 제공할 수 있습니다. 이를 이용해 로그아웃 시 해당 엔드포인트를 호출하여 세션을 종료하도록 합니다.
해결에 도움이 될 만한 인프런의 질문을 아래에 첨부했습니다:
위 질문에서는 비슷한 로그아웃 문제에 대한 해결 방법을 논의하고 있으며, 강사가 어떻게 해결할 수 있을지 추가적인 코멘트를 제공하고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.