2022/06

    [AWS] S3 퍼블릭 액세스 차단을 활성화 하면서 객체에 접근하는 방법을 알아보자!!

    S3는 퍼블릭 액세스 차단 기능을 이용하여 버킷 내 객체에 대한 접근을 제한 할 수 있습니다. 퍼블릭 액세스 차단을 활성화 하게 되면 자원을 안전하게 보호할 수 있지만, 외부에서 접근이 불가능해 s3 객체에 접근할 수 없습니다. 따라서 S3는 퍼블릭 액세스 차단을 하면서 외부에서 접근할 수 방법을 제공해주는데, 그 방법에 대해 알아보고자 합니다. Pre-Signed-URL 을 이용하여 S3 객체 업로드(PUT)/다운로드(GET) 하기 Pre-Signed-URL 을 이용하여 S3 객체 업로드(PUT)를 진행하고, 다운로드는 서버를 프록시로 두어 서버에서 S3에 접근하여 다운로드(GET)하기 Pre-Signed-URL 을 이용하여 S3 객체 업로드(PUT)를 진행하고, 다운로드는 goofys를 사용하여 S3..

    [Kotlin] 데이터 집합 표현에 data 한정자를 사용하라

    이 글의 내용은 [이펙티브 코틀린]을 참고합니다. 때로는 데이터를 한꺼번에 전달해야 할 때가 있습니다. 아래 코드처럼 말이죠. data class Player( val id: Int, val name: String, val points: Int ) val player = Player(0, "Gecko", 9999) data 한정자는 아래의 함수들을 자동으로 생성해줍니다. toString equals 와 hashCode copy componentN(component1, component2 등) toString 클래스의 이름과 기본 생성자 형태로 모든 프로퍼티와 값을 출력 해줍니다. 주로 로그 출력이나 디버깅 할때 사용합니다. println(player) // Player(id=0, name=Gecko, p..

    [Spring] Security +Google Oauth2 + JWT 구현하기 (4) - JWT 재발급 해주기

    이어서 계속 구현해보겠습니다. 구현 자체가 목적이므로 자세한 설명을 생략합니다. JWT 생성하기 JWT에 권한 추가해주기 생성한 JWT에 대해 인증/인가 하기 JWT 재발급 해주기 (진행) 구현 AuthController @RestController @RequestMapping("/auth") class AuthController( private val authService: AuthService ) { /** * token 생성해서 보내주기 */ @GetMapping("/login") fun login(@AuthenticationPrincipal oAuth2User: OAuth2User): ResponseEntity { return ResponseEntity.ok(authService.login(oAu..

    [Spring] Security +Google Oauth2 + JWT 구현하기 (3) - 생성한 JWT에 대해 인증/인가 하기

    이어서 계속 구현해보겠습니다. 구현 자체가 목적이므로 자세한 설명을 생략합니다. JWT 생성하기 JWT에 권한 추가해주기 생성한 JWT에 대해 인증/인가 하기 (진행) JWT 재발급 해주기 구현 JwtFilter class JwtFilter( private val jwtProvider: JwtProvider ) : OncePerRequestFilter() { override fun doFilterInternal( request: HttpServletRequest, response: HttpServletResponse, filterChain: FilterChain ) { val jwt = jwtProvider.resolveToken(request) if (StringUtils.hasText(jwt) && ..

    [Spring] Security +Google Oauth2 + JWT 구현하기 (2) - JWT에 권한 추가해주기

    이어서 계속 구현해보겠습니다. 구현 자체가 목적이므로 자세한 설명을 생략합니다. JWT 생성하기 JWT에 권한 추가해주기 (진행) 생성한 JWT에 대해 인증/인가 하기 JWT 재발급 해주기 구현 @Component class JwtProvider( private val memberRepository: MemberRepository ) { companion object { private const val AUTHORITIES_KEY = "auth" private const val BEARER_TYPE = "bearer" private const val ACCESS_TOKEN_EXPIRE_TIME = (1000 * 60 * 30) private const val REFRESH_TOKEN_EXPIRE_TIME..

    [Spring] Security +Google Oauth2 + JWT 구현하기 (1) - JWT 생성하기

    이번 글에서는 Spring Security + Google Oauth2 + JWT를 구현해보겠습니다. 구현 자체가 목적이므로 자세한 설명을 생략합니다. 진행하기 앞서 Google Oauth2 Client_ID, Client_Secret는 개인적으로 받으시길 바랍니다 :) 아래와 같은 순서로 진행됩니다. JWT 생성하기 (진행) JWT에 권한 추가해주기 생성한 JWT에 대해 인증/인가 하기 JWT 재발급 해주기 이번 글에서는 JWT 생성하는 부분에 대해 진행합니다. 구현 build.gradle.kts import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("org.springframework.boot") version "2.6.8" id("..