이번에는 이전 시간에 만든 인증 로직을 테스트 해보겠습니다. 원래대로라면 코드만 보여드리고 설명을 생략하겠지만 이전에 만든 인증 로직에 대한 이해를 돕고자 테스트를 따로 준비했습니다. 테스트를 진행하기에 앞서 데이터베이스 초기화를 위한 TestInitDB를 생성하겠습니다. 데이터베이스 초기화 @Component public class TestInitDB { @Autowired RoleRepository roleRepository; @Autowired MemberRepository memberRepository; @Autowired PasswordEncoder passwordEncoder; private String adminEmail = "admin@admin.com"; private String mem..
이번에는 로그인 관련하여 인증 로직을 추가해보겠습니다. 전체적인 인증 로직은 다음과 같습니다. 클라이언트가 API 를 요청한다. 요청시에 로그인해서 발급받은 access token을 HTTP Authorization 헤더에 담아서 보내준다. JwtAuthenticationFilter에서 토큰을 검증하고, 토큰으로 요청한 사용자 정보를 데이터베이스에서 조회해서 SecurityContext에 저장한다. 요청한 API url에 따라서 접근 허용 여부를 검사한다. 접근에 성공하면 요청한 API url에 따라 Controller에서 작업을 수행한다. 접근에 실패하면 인증되지 않은 사용자의 경우 401응답을 내려주는 곳으로 redirect 요청한 자원에 접근 권한이 없는 경우 403응답을 내려주는 곳으로 redir..