<TIL> 57. Spring Security

YUJIN LEE·2023년 3월 15일
0

개발log

목록 보기
52/149

Security에서 JWT를 사용한 인증/인가 흐름

  1. 사용자는 회원가입 진행
  • 해당 URI 요청은 permitAll 처리, 사용자의 입력값으로 service에서 회원가입 진행.
  1. 사용자의 정보를 저장할 때 비밀번호 암호화해 저장
  • PasswordEncoder를 사용해 비밀번호를 암호화 한 후 저장
  1. 사용자는 로그인 진행
  • 해당 URI 요청은 permitAll 처리, 사용자의 입력값으로 service에서 회원 인증 진행.(비밀번호 일치 여부 등.)
  1. 사용자 인증 성공시 사용자 정보를 사용해 JWT 토큰 생성, Header에 추가해 반환.
    Client는 이를 쿠키저장소에 저장.

  2. 사용자는 게시글 작성과 같은 요청 진행 시 발급받은 JWT 토큰을 같이보냄.

  3. 서버는 JWT 토큰을 검증하고 토큰의 정보를 사용해 사용자의 인증을 진행해주는 Spring Security에 등록한 Custom Security Filter를 사용해 인증/인가 처리.

  4. Custom Security Filter에서 SecurityContextHolder에 인증을 완료한 사용자의 상세 정보를 저장 - 이를 통해 Spring Security에 인증이 완료되었다는 것을 알려줌.

즉, 'JWT 토큰과 Custom Security Filter를 통해 사용자를 로그인이 된 상태로 유지'

profile
인정받는 개발자가 되고싶습니다.

0개의 댓글