-
Spring Security JWT - 로그인 인증Framework & Library/Spring Security 2021. 10. 9. 16:35
JwtAuthenticationFilter 클래스 수정
ㆍ 로그인인 인증을 수행하기 위해 JwtAuthenticationFilter 클래스의 attemptAuthentication() 메서드를 위 코드와 같이 수정한다.
ㆍ 첫 번째 부분에서 전달받은 JSON 데이터를 파싱 해서 User 객체로 만든다.
ㆍ 두 번째 부분에서는 파싱 된 User 객체의 username과 password를 이용해서 토큰을 생성한다.
ㆍ 생성된 토큰은 로그인 인증을 위해 사용되는 토큰이다.
ㆍ 세 번째 부분에서는 생성한 토큰을 이용해 AuthenticationManager 객체가 로그인을 시도한다.
ㆍ 이때, PrincipalDetailsService의 loadUserByUsername() 메서드가 자동으로 실행되고, loadUserByUsername() 메서드가 정상적으로 실행되면 Authentication 객체가 리턴된다.
ㆍ Authentication 객체가 정상적으로 리턴되었다는 것은 로그인이 완료되었다는 의미이다.
ㆍ 네 번째 부분의 successfulAuthentication() 메서드는 attemptAuthentication() 메서드 실행 후 인증이 정상적으로 되었으면 실행되는 메서드이다.
테스트
로그인 요청
ㆍ username의 값을 "qlsdud0604"로 password의 값을 "1234"로 지정한 후 JSON 형태로 로그인 요청을 한다.
로그인 인증 확인
ㆍ 로그인 요청이 들어왔을 때 서버 측 콘솔 창의 출력 결과이다.
ㆍ 출력 결과를 확인해 보았을 때 JwtAuthenticationFilter 클래스의 로그인 인증 절차가 정상적으로 수행되고 있음을 확인할 수 있다.
728x90'Framework & Library > Spring Security' 카테고리의 다른 글
Spring Security JWT - JWT를 통한 인증 (0) 2021.10.10 Spring Security JWT - JWT 생성 후 응답 (0) 2021.10.10 Spring Security JWT - 회원가입 (0) 2021.10.09 Spring Security JWT - JWT를 위한 로그인 시도 (0) 2021.10.08 Spring Security JWT - 임시 토큰을 통한 테스트 (0) 2021.10.08