[스프링 시큐리티 JWT] 들어가면서..! 목표 잡기

코린이서현이·2024년 6월 17일
0
post-thumbnail

들어가면서

jwt가 뭐라고 이렇게 오래 걸리는지 ^^

배움의 목표 🙏

목표

스프링 시큐리티 프레임워크를 활용해서 jwt 기반의 인증과 인가를 구현하고 회원 정보 저장(영속성) MySQL 데이터 베이스를 활용한다.

서버는 API 서버 형태로 구축해 응답만 확인한다.

구현

  • 인증 : 로그인
  • 인가 : jwt를 통한 경로별 접근 권한
  • 회원 가입

내부로직 자세히 살펴보기 : 세션 vs JWT 방식

회원가입

  • 차이없다.

로그인(인증)

세션방식

서버 세션이 유저정보를 저장한다.

JWT 방식

  • UsernamePasswordAuthenticationFilter에서 검증 로직
  • Authentication Manager에서 내부적으로 로그인 검증, DB에서 직접 비교
  • 로그인 성공 시, 세션 저장이 아닌successfulAuth 메서드를 이용해서 JWT Utill에서 토큰을 만들어서 응답

경로 접근(인가)

JWT 방식

직접 만든 JWT Filter을 통해 요청 헤더에서 JWT를 찾아 검증을 하고 일시적 요청에 대한 Session을 생성한다. 생성된 세션은 요청이 끝나면 소멸된다.

  • Security Authentication Filter가 검증을 첫번째로 진행
  • 우리가 직접 만든 JWT Filter로 필터 검증
    - 만약 적절한 요청이라면, (토큰 검사 통과) 강제로 일시적인 세션을 만든다.
    이 세션을 통해 허용한다.
    - 단 이 방법은 Session은 일시적이다. 요청이 끝나면 세션이 종료된다.

강의 정보

💻 강의 링크

마무리 하면서...

왜 이렇게 진도도 안나가고 짜증만 날까..? 
profile
24년도까지 프로젝트 두개를 마치고 25년에는 개발 팀장을 할 수 있는 실력이 되자!

0개의 댓글