전체 글(182)
-
테스트환경에서 SSL/HTTPS 설정하기
Server현재 로그인을 할때 AccessToken은 헤더에 담아서 클라이언트에게 보내고 RefreshToken은 secure=ture 설정을 해주었기때문에 쿠키가 HTTPS 연결에서만 전달이 되는 상황이다.@PostMapping("/login")fun login(@RequestBody request: LoginRequest, response: HttpServletResponse): ResponseEntity> { val tokenResponse = oAuthService.login(request) // ACCESS TOKEN을 헤더에 담아서 반환 val headers = HttpHeaders() headers.add("Authorization", "Bearer ${tokenResp..
2025.01.15 -
Redis를 이용한 로그아웃
블랙리스트를 이용하여 서버에서 로그아웃 기능을 수행하도록 설계할 것이다. Redis DB 생성 의존성 추가더보기dependencies { implementation("org.springframework.boot:spring-boot-starter-data-redis")} Redis Config 설정더보기@Configurationclass RedisConfig { @Bean fun redisTemplate(connectionFactory: RedisConnectionFactory): RedisTemplate { val redisTemplate = RedisTemplate() redisTemplate.connectionFactory = connectionFactory..
2025.01.14 -
Swagger failed to load api definition 오류
❎ 문제발생로그아웃 기능을 추가하기 위해서 작업을 하던중 테스트를 위해서 스웨거에 접속하니 오류가 발생하였다.평소에 제대로 작동하던 스웨거가 갑자기 오류가 발생하면서 접속이 안되는 상황이다. 🆘 해결 과정기본적으로 서버측에는 어떤 로그도 나와있지 않는 상황이다.기존까지 되던것이 기능을 추가하고 동작하지 않으니 해당 기능이 문제라고 판단하여 추가한 코드를 주석처리를 해도 여전히 스웨거 접속이 불가능하였다.ChatGpt의 도움도 빌려보았으나 해결이 되지 않았고 계속해서 구글링을 해본 결과 전역적으로 예외처리를 하는 부분에서 문제가 있다는 블로그를 발견하였다.https://dev-meung.tistory.com/entry/%ED%95%B4%EC%BB%A4%ED%86%A4-HY-THON-%ED%8A%B8%E..
2025.01.13 -
신규 회원가입시 𝐷𝑒𝑓𝑎𝑢𝑙𝑡-𝐼𝑚𝑎𝑔𝑒 설정 및 접근 가능한 채팅방만 조회
신규 회원의 경우 기본 이미지를 설정하기 위해서 s3버킷에 default-profile을 가져오도록 설계하였다. 신규 회원의 경우 profileImageUrl이 Default-profile/ 경로를 가르키게 된다.처음에는 해당 default-image를 profileImageUrl로 가지고 있다가 이미지를 업로드 할경우 자신의 id에 맞는 폴더가 생기면서 자신의 프로필 사진을 업로드할 수 있도록 하였다. 접근가능한 PRIVATE 채팅방 목록 조회Controller@QueryMappingfun getAccessPrivateChatRoom( @AuthenticationPrincipal user: UserPrincipal): List{ return chatService.getAccessPriva..
2025.01.07 -
𝒫𝓇ℯ𝓈𝒾ℊ𝓃ℯ𝒹 𝒰ℛℒ과 프로필 사진
기존 코드의 흐름1. Client 이미지 선택2. Server 해당 유저의 ID에 해당하는 위치로 Presigned URL생성후 반환3. Client 받은 Presigned URL로 접속하여 이미지 업로드 이런식으로 코드를 작성한다면 DB에는 실제 URL을 담을수 없게 된다.왜냐하면 Presigned URL을 이용하기 때문에 해당 Presigned URL의 유효기간이 끝나면 그 URL은 쓸수가 없기때문에 유저의 프로필 주소를 DB에 담아두는 의미가 없다.1대1 채팅이나 채팅방에서 주고받은 파일의 경우에는 외부에서 접근이 가능해서는 안되는 보안이 중요한 형태이지만프로필 사진일 경우에는 우리가 주로 사용하는 SNS만 보더라도 꼭 친구가 아니어도 다른 사람의 프로필 이미지를 조회할수 있는것 처럼 보안에 비교적..
2025.01.06 -
S3을 이용한 프로필 사진 업로드 구현
채팅 기능과 유저간의 상호작용 기능이 어느정도 완료되었으니 이제 유저 개개인의 프로필을 조회하고 수정하고, 이미지를 업로드하여 자신의 프로필 이미지를 설정할 수 있도록 설계할 예정이다.먼저 이미지 업로드 기능의 경우 AWS S3 서비스를 이용하여 이미지와 같은 대용량 파일은 S3에 저장을 하고 PreSigned URL을 이용하여 서버에서 이미지를 업로드하는것이 아닌 클라이언트에서 해당 URL로 직접 업로드를 하는 식으로 구현을 할 것이다.AWS S3을 사용하기 위해 의존성 추가더보기dependencies { implementation("software.amazon.awssdk:s3:2.20.92")} S3 config 작성더보기package hjp.hjchat.infra.s3import org.sp..
2025.01.03