Spring Boot Security 2Factor 인증 로직

2024. 9. 29. 22:48Java/Spring Boot Security

 

ID/Password 인증이 성공하면, SimpleUrlAuthenticationSuccessHandler를 상속받은 클래스에서 추가 인증 페이지로 이동
만약 2Factor 인증 대상이 아니면, 바로 로그인여부를 true로 설정

2Factor 인증 대상인 경우, 2Factor 인증정보 입력 창으로 redirect
대상이 아닌 경우, 바로 메인 화면으로 이동

2Factor 인증 창에서 확인을 누르면, 2Factor 인증 체크로 이동
인증정보가 일치하면, 로그인여부를 true로 설정
일치하지 않는 경우, 다시 2Factor 인증 창으로 이동

OncePerRequestFilter를 상속받은 클래스에서 로그인 여부를 판단하여 적절한 곳으로 이동
예외 대상으로 등록된 페이지인 경우, 그대로 보여줌
예외 대상 페이지인 경우, ID/Password 인증여부 확인하여 인증이 안되었으면 로그인 창으로 이동함
ID/Password 인증이 되었고, 로그인여부가 true이면, 요청된 페이지를 보여줌
ID/Password 인증이 되었으나, 로그인여부가 false 또는 null이면, 로그아웃을 호출함