[Spring Security] CORS 설정 시 응답 헤더 없는 오류
·
Spring/Security
프론트-서버 간의 CORS 문제 해결을 하기위해 Spring Security 설정을 진행했다. @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .cors() // cors 설정 .and() ... return http.build(); } @Bean CorsConfigurationSource corsConfigurationSource() { CorsConfiguration configuration = new CorsConfiguration(); configuration.setAllowedOrigins(Arrays.asList("", "...")); configuration.setAllowedMeth..
[AWS] EC2 인스턴스 생성 및 SSH 접속하기 (프리티어 기준)
·
Infra/AWS
프로젝트를 시작할 때마다, EC2 인스턴스를 생성하곤 했었다. 그때마다 매번 구글링해서 EC2 인스턴스를 생성했었는데, 매번 구글링해서 보는 것이 불편했었다. 그래서 여러 블로그를 참고하여 따로 내 블로그에 기록을 해둬서 EC2 생성이 필요할 때 보는 용도로 작성할 것이다! 용어나 개념 등은 다른 블로그에 잘 나와 있으므로, 절차 중심으로 기록하려고 한다! 🎯 EC2 인스턴스 생성하기 ✅ 1. 인스턴스 시작 버튼 클릭 ✅ 2. 인스턴스 설정 📕 2-1. 인스턴스 이름 설정 EC2 인스턴스 이름을 설정해준다. 📕 2-2. 애플리케이션 및 OS 이미지(Amazon Machine Image, AMI) 선택 Linux, Ubuntu 같은 OS를 선택하고, 해당 OS에 맞는 AMI를 선택한다. 📕 2-3. 인스턴..
Spring Security + JWT를 이용한 자체 Login & OAuth2 Login(구글, 네이버, 카카오) API 구현 (9) - JWT 자체 로그인 & OAuth2 Login 동작 테스트
·
Spring/Security
앞서 8번 과정까지해서 구현 코드 설명은 모두 끝났습니다! 이번에는 마지막으로 실제 DB에 회원 가입, 로그인이 되는지 Postman으로 동작 테스트를 해보겠습니다. 💻 index.html 생성 자체 Login은 Postman으로 테스트하도록 하고, OAuth2 로그인을 테스트하기 위해 index.html을 생성해서 테스트해봤습니다. (메인 화면으로 띄우기 위해 위치는 src/main/resources/static에 생성하였습니다.) 🎯 index.html 코드 Kakao Login Google Login Naver Login 이런 식으로 링크를 클릭하면 "/oauth2/authorization/SocialType" URL로 요청을 보내도록 했습니다. 해당 링크로 요청을 보내면, 302 redirect로..
Spring Security + JWT를 이용한 자체 Login & OAuth2 Login(구글, 네이버, 카카오) API 구현 (8) - SecurityConfig 설정 클래스 생성
·
Spring/Security
이제 앞에서 했던 자체 Login 필터와 OAuth2 Login 필터 등 Spring Security의 여러 설정을 담당하는 SecurityConfig 클래스를 생성해보려고 합니다! Spring Security의 설정 파일이라고 생각하면 됩니다! 위치는 global/config에 생성해줬습니다. SecurityConfig 클래스 생성 전체 코드를 먼저 보여드리고, 전체 코드가 상당히 길기 때문에 부분 부분 코드를 발췌하여 설명드리겠습니다. 🎯 SecurityConfig 전체 코드 package login.oauthtest4.global.config; import com.fasterxml.jackson.databind.ObjectMapper; import login.oauthtest4.domain.user..
[Spring] MockMvc @RequestPart MultipartFile 파일 테스트 시 에러 트러블 슈팅
·
Spring/기타
1. First Try - 403 에러 처음에는 파일 테스트를 할 때 이전에 MockMvc로 테스트할 때처럼 "/user/update"의 Http Method가 patch이므로 MockMvcRequestBuilders.patch()를 사용했었다. 하지만 @RequestPart의 MultipartFile를 테스트할 때는 MockMvcRequestBuilders.patch()가 아니라 MockMvcRequestBuilders.multipart()로 따로 multipart builder가 존재한다는 것을 구글링으로 깨닫고 해당 메소드를 사용하였다. mockMvc.perform( multipart("/user/update") .file(generateMultipartFileImage()) .file(genera..
[Spring] Postman multipart/form-data 여러 개 파일 보내기
·
Spring/기타
프로젝트를 진행하다가, multipart/form-data로 파일을 보낼 일이 생겼었다. 컨트롤러 코드를 다음과 같이 구현했다. 이미지, 영상 첨부하는 PostController @PostMapping("/save") public BaseResponse save( @RequestPart PostSaveDto postSaveDto, @RequestPart(required = false) List uploadImgs, @RequestPart(required = false) List uploadVideos) throws Exception { PostSaveResponseDto postSaveResponseDto = postService.save(postSaveDto, uploadImgs, uploadVideo..
Spring Security + JWT를 이용한 자체 Login & OAuth2 Login(구글, 네이버, 카카오) API 구현 (7) - OAuth 2.0 로그인 관련 클래스 생성
·
Spring/Security
본격적으로, 프로젝트에 사용된 OAuth 2.0 로그인 관련 클래스 코드를 설명드리고자 합니다! 들어가기 전 OAuth 관련 패키지 구조는 다음과 같습니다. OAuth2Service를 생성하기 위해 spring-boot-starter-oauth2-client 라이브러리를 사용합니다. build.gradle에 다음과 같이 의존성을 추가해줍시다! implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' 📖 OAuth 2.0 관련 클래스 생성 1. DefalutOAuth2User를 상속한 User 클래스 - CustomOAuth2User 이후에 OAuth2UserService에서 사용할 OAuth2User 객체를 커스텀한 클래스입니..
유스콘 2022(YOUTHCON'22) 세션별 후기
·
Conference
개발 공부를 시작하고 나서, 운좋게 처음 오프라인 컨퍼런스를 참여하게 되었다. 개발 공부를 시작하기 전 로드맵을 그릴 때부터 '컨퍼런스가 있으면 무조건 가는 것이 좋다!' 라고 뇌에 박혀서 바로 신청하게 되었다. 📖 유스콘을 참여한 경로 우아한테크코스를 참여해서 우아한테크코스 프리코스 슬랙에 참가해있었다. 최종 합격을 기다리던 중에 우연히 슬랙을 켜봤는데, 어떤 분이 유스콘이 열린다는 정보를 주셔서 감사하게도 빠르게 신청할 수 있었다. 오프라인 컨퍼런스는 가본 적이 없었어서 뭘 하는건지 소개글을 보고도 몰랐었는데 일단 오프라인 컨퍼런스에 대한 좋은 인식이 있어서 무작정 신청했던 것 같다. 📖 유스콘 2022 자세한 소개 22.12.31에 열린 유스콘 2022에 대한 소개는 다음 링크에 자세하게 나와있다!..
우아한테크코스 5기 최종 합격 (feat. 우테코 선발 과정 후기)
·
우아한테크코스 5기 프리코스
🎉 우아한테크코스 5기 최종 합격 🎉 기나긴 여정 끝에, 우테코 최종 합격을 하고야 말았다! 내 2022년을 돌아봤을 때, 정말 인생의 터닝포인트가 되는 해 중의 하나의 해가 되지 않을까 싶다. 대학교 3학년 말에 막연하게 전공에 흥미가 안 생겨서, 2021년 12월부터 고등학교 때 관심이 있었던 개발 공부를 각을 잡고 시작했었다. 그때 생각나는 에피소드로는, 개발 동아리에 들어갔었는데 매우 잘하는 사람이 '우테코'라는 것을 한다고 하길래, 뭔가 싶어서 검색해보고 그때 우테코를 처음 알게 되었다. 그때 검색할 때까지만 해도 '우테코는 잘하는 사람들만 가는 곳이구나..' 하면서 거들떠 보지도 않고, 차선책을 계획으로 세웠었다. 그렇게 우테코는 지원할 생각조차 안 했고, 묵묵히 10월까지 독학으로 달려왔었다..
Spring Security + JWT를 이용한 자체 Login & OAuth2 Login(구글, 네이버, 카카오) API 구현 (6) - OAuth 2.0 로그인 구현 사전 설정
·
Spring/Security
OAuth의 개념도 알아 보았고, 이제부터 본격적으로 OAuth 2.0 로그인을 구현해보려고 합니다. 바로 코드로 들어가기 전에, OAuth 2.0 로그인 구현 전에 기능을 이용하고자 하는 Resource Server에 Application 사전 등록을 해줘야합니다. 제 프로젝트에서는 네이버/카카오/구글 로그인을 구현했습니다. 따라서, 네이버/카카오/구글 Resource Server에 제 프로젝트 서비스(Application)를 등록해보겠습니다. 1. Naver에 Application 등록 https://developers.naver.com/apps/#/register 애플리케이션 - NAVER Developers developers.naver.com 위의 네이버 개발자 센터 -> Application ..
BE_성하