전체 글

spring/게시판 api

Spring boot 게시판 API 서버 제작 (11) - 로그인 - 인증 refresh token으로 access token발급

이번에는 refresh token을 가지고 access token을 발급해 보겠습니다. SignService 추가 SignService.java 먼저 SignService 클래스에 refresh token 값을 인자로 받았을 때 access token을 반환해주는 로직을 추가하겠습니다. public RefreshTokenResponse refreshToken(String rToken) { validateRefreshToken(rToken); // refresh token 검증 String subject = tokenService.extractRefreshTokenSubject(rToken); // subject 추출 String accessToken = tokenService.createAccessTok..

spring/게시판 api

Spring boot 게시판 API 서버 제작 (10) - 로그인 - 인증 로직 테스트

이번에는 이전 시간에 만든 인증 로직을 테스트 해보겠습니다. 원래대로라면 코드만 보여드리고 설명을 생략하겠지만 이전에 만든 인증 로직에 대한 이해를 돕고자 테스트를 따로 준비했습니다. 테스트를 진행하기에 앞서 데이터베이스 초기화를 위한 TestInitDB를 생성하겠습니다. 데이터베이스 초기화 @Component public class TestInitDB { @Autowired RoleRepository roleRepository; @Autowired MemberRepository memberRepository; @Autowired PasswordEncoder passwordEncoder; private String adminEmail = "admin@admin.com"; private String mem..

spring/게시판 api

Spring boot 게시판 API 서버 제작 (9) - 로그인 - 인증 로직

이번에는 로그인 관련하여 인증 로직을 추가해보겠습니다. 전체적인 인증 로직은 다음과 같습니다. 클라이언트가 API 를 요청한다. 요청시에 로그인해서 발급받은 access token을 HTTP Authorization 헤더에 담아서 보내준다. JwtAuthenticationFilter에서 토큰을 검증하고, 토큰으로 요청한 사용자 정보를 데이터베이스에서 조회해서 SecurityContext에 저장한다. 요청한 API url에 따라서 접근 허용 여부를 검사한다. 접근에 성공하면 요청한 API url에 따라 Controller에서 작업을 수행한다. 접근에 실패하면 인증되지 않은 사용자의 경우 401응답을 내려주는 곳으로 redirect 요청한 자원에 접근 권한이 없는 경우 403응답을 내려주는 곳으로 redir..

얼킴
얼킴's Blog