Josh 성장일기
article thumbnail

안녕하세요 이번에 제가 Spring Security + jwt 를 활용한 로그인 기능을 만들어봤습니다.
복습겸 기록남기기로 블로그에 작성할 생각입니다. 

 

- 초보개발자로써 혼자서 공부한 내용을 정리삼아 블로그에 작성하니 잘못된 점 바로잡아주시면 감사하겠습니다! -

 

Spring boot 3.0.1
java 17 
MySQL

JsonWebToken

위의 버전과 라이브러리를 사용하여 만들었습니다.

 

 

Spring Securiy + jwt 의 흐름

1. Http 통신이 온다.

2. JwtAuthFilter 를 통하여 Jwt Token 이 HTTP Header 에 있는지 확인한다.

2번에서 2가지의 분기로 나누어집니다.

if ( jwt Token 이 존재한다면 ) {

   - 각각의 서비스와 도메인에 맞게 Custom한 JwtService를 통하여 토큰에 대한 유효성 검사를 시작
     

   - 유효한 토큰이라면 Security ContextHolder 에서 setAuthenticatuin 을 해주게 됩니다(이 부분은 추후 코드를 통하여 자세히 올리겠습니다!!)

   

   - 유효하지 않는 토큰이라면 403 에러 빠방 쏴줍니다.

 

     그리하여 최종적으로 Dispatcher Servlet을 통하여 저희가 설정한 Controller에 접근할 수 있습니다!!

}

else { // jwt Tokem 이 존재하지않는다면

       User Details Service 를 통해 DB에 접근하여 사용자가 존재하는지 확인합니다.
       - 사용자가 유효하다면
         => Jwt Token 을 발급해줍니다.

 

       - 사용자가 유효 하지 않다면

         => 403 에러 빠방 쏴줍니다.

}

 

다음번 포스트는 실제 코드와 함께 올리도록 하겠습니다.
감사합니다.

profile

Josh 성장일기

@JoshDev

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그