전체 글 375

66.02_[Spring Security]JWT_검증 기능 구현_22.11.24

JWT 검증 기능 구현 : HTTP Request header에 포함되어 전송되는 JWT를 request가 전송될 때마다 검증하는 기능을 구현하면 JWT 검증 기능을 구현할 수 있다. : 현재 로그인 인증을 성공적으로 수행하면 response header의 Authorization, Refresh로 JWT를 전달 받을 수 있음. ========================================== JWT 검증 기능 구현 ========================================== 1. 검증용 Filter 구현(JwtVerificationFilter) -OncePerRequestFilter 상속 : request 한 번당 OncePerRequestFilter를 한 번 거치기 때문에 ..

66.01_[Spring Security]JWT_인증 기능 구현_22.11.24

=============================== JWT 자격 증명을 위한 로그인 인증 구현 =============================== 1. SecurtyConfiguration 추가 : Spring Security 인증/보안 기능 추가 1.1. SecurityFilterChain 메서드 >HttpSecurity -headers -csrf -cors -formLogin -httpBasic -authorizeHttpRequests -and -build 1.2. PasswordEncoder 1.3. CorsConfigurationSource =============================== 2. 회원 가입 로직 수정 : Spring Security 적용 2.1. MemberDto..

65.02_[Spring Security]JWT_JSON Web Token_22.11.23

>JWT : JSON Web Token : JSON 포맷의 토큰 정보를 인코딩한 후, 인코딩 된 토큰 정보를 비밀키(개인키)로 서명한 메세지를 Web Token으로써 인증 과정에 사용 : Rest API 통신을 사용하는 백엔드 서버에 사용하기 적합한 자격 증명 방식 >JWT의 종류 1. Access Token 2. Refresh Token >액세스 토큰, Access Token : 사용자 정보에 접근할 수 있는 권한을 부여하는데 사용되는 토큰 : 액세스 토큰은 보안 위험성 때문에 유효 기간을 짧게 주어 오래 사용할 수 없다. >리프레시 토큰, Refresh Token : 새로운 액세스 토큰을 받기 위해 사용되는 토큰 : 액세스 토큰이 만료되면 리프레시 토큰으로 새로 액세스 토큰을 발급받고, 이를 통해 사..

65.01_[Spring Security]JWT_Session 과 Token_22.11.23

>HTTP 프로토콜 특징 HTTP 프로토콜은 request를 전송한 후, response를 수신하면 연결을 끊는 비연결성(Connectionless)과 reques와 response에 대한 상태를 저장하지 않는 비상태성(Stateless)이 특징이다. 이는 다양한 장점을 갖게하는 특징들이지만, 사용자에게 불편을 가져다준다. >세션 기반 자격 증명 방식 : 서버 측에 인증된 사용자의 정보를 세션(Session) 형태로 세션 저장소에 저장하는 방식 : Session은 서버측에는 세션 저장소에 저장되고, 클라이언트에는 쿠키로 저장된다. (클라이언트에는 세션 ID를 보낸다) : 양측의 세션이 확인되면 인증된 사용자라고 판단하여 정보 교환을 한다. >세션 기반 자격 증명의 특징 : HTTP 통신을 Stateful..

[Spring] ObjectMapper

>ObjectMapper : Jackson 라이브러리의 클래스 : Json 파일과 Java Object의 사이에서 직렬화, 역직렬화에 사용되는 객체 >ObjectMapper.readValue( A, B ) : Json 파일을 Java Object로 역직렬화 시키는 메서드 : A 인자 => Json 파일 (혹은 URL) : B 인자 => Java Object(.class) >ObjectMapper.writeValue( A, B ) : Java Object를 Json 파일로 직렬화 시키는 메서드 : A 인자 => 생성될 Json 파일 (혹은 URL) : B 인자 => Java Object(.class) 참고 링크 https://interconnection.tistory.com/137

Memo/짧은 메모 2022.11.23

[Spring] @Configuration 과 @Component 차이 (미완)

>@Configuration : 1개 이상의 @Bean을 제공하는 클래스의 경우 해당 애너테이션을 사용. : 일반적으로 외부라이브러리 또는 내장 클래스를 Spring Bean으로 등록하고자 할 경우에 사용 >@Bean >@Component : 애플리케이션 실행 시, Component-Scan을 통해 Spring Bean 등록을 시킬 클래스를 명시하는 애너테이션 : 일반적으로 개발자가 직접 작성한 클래스를 Spring Bean 으로 등록시키기 위해서 사용 >@Component 애너테이션 streotype -@Controller -@RestController -@Servicie -@Repository //크게 다를 건 없고, 목적에 따라 다른 표현 방법으로 사용한다라는 것을 알아두면 좋을 것 같다. //참고..

Memo/짧은 메모 2022.11.23