[Spring] 카카오 소셜 로그인 회원탈퇴 구현 (OpenFeign)
·
Spring
카카오 소셜 로그인 회원탈퇴 구현 (OpenFeign) 카카오 소셜 로그인 회원탈퇴 및 OpenFeign 도입 이유  - 당연한 말이지만 로그인이 있는 서비스라면 사용자가 서비스를 이용하고 싶지 않을 때 사용할 로그아웃과 회원탈퇴도 함께 해야하는 것이 맞다고 생각했다.- 그러나 자체 서버에서 회원탈퇴 과정을 진행하더라도 사진에 나와있는 것처럼 아직 카카오에는 기록이 남아있기에 회원탈퇴 후 다시 가입을 진행할 때 약관 동의화면이 나오지 않는 등의 문제가 생길 것이라고 판단했기에 카카오에서도 더 이상 사용자가 카카오를 통해 서비스를 이용하지 않겠다는 사실을 알려줄 필요가 있다고 생각했다.- 카카오 소셜 로그인 때와 마찬가지로 비교적 간단하고 빠르게 구현할 수 있는 OpenFeign을 사용하기로 했다. 카카오..
[Spring] 카카오 소셜 로그인 구현 (OpenFeign)
·
Spring
카카오 소셜 로그인 구현 (OpenFeign)  카카오 소셜 로그인 도입 배경 - 사용자 입장에서는 회원가입에 대해 신뢰성을 높이고, 따로 회원가입 등에 소비하는 시간을 단축하며, 번거로운 계정 관리를 줄일 수 있는 편리함이 있다.- 개발자 입장에서는 실제로 신뢰할 수 있는 사용자인지 확인하는 과정 등을 간소화할 수 있다.- 특히 커뮤니티와 같은 서비스는 로그인이라는 진입장벽이 필수적인데, 이 부분에 대해 장벽을 조금이라도 낮출 수 있다고 생각했다.- 다른 소셜 플랫폼들도 있지만 우선 사용자에게 가장 접근성이 편리할 것 같은 카카오 소셜 로그인을 구현하도록 했다. OpenFeign 도입 이유 - 인터페이스와 어노테이션을 기반으로 하기 때문에 RestTemplate 등에 비해 비교적 간단하게 구현할 수 있..
[Spring] BCryptPasswordEncoder를 이용한 단방향 암호화
·
Spring
BCryptPasswordEncoder를 이용한 단방향 암호화 BCryptPasswordEncoder 설정 및 적용//spring securityimplementation 'org.springframework.boot:spring-boot-starter-security' package site.offload.api.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;@Configurationpublic class Enc..
[Spring] ConflictingBeanDefinitionException 해결
·
Spring
ConflictingBeanDefinitionException 해결 에러발생상황❓ ConflictingBeanDefinitionException는 같은 이름의 Bean이 중복으로 등록되어 있을 때 발생하는 오류이다. 친절하게 로그를 통해 어느 지점에서 중복이 되어 등록되는지 알려주지만 그 경로에는 해당하는 파일이 없었다.에러발생원인❗️ 이전에 빌드된 클래스 파일에 남아 있어서 ConflictingBeanDefinitionException 예외가 발생할 수 있다. 해결하기 위해서는 이전 빌드된 클래스 파일을 제거해야 한다. 에러해결과정./gradlew clean❗️ 하지만, 이 방법으로는 해결되지 않았다. ❗️ out 패키지를 지우고 다시 build하니 해결이 되었다. Refhttps://green-bin..
[Spring] Swagger
·
Spring
Swagger 개념❓ 개발자가 REST 웹 서비스를 설계, 빌드, 문서화, 소비하는 일을 도와주는 대형 도구 생태계의 지원을 받는 오픈 소스 소프트웨어 프레임워크 ❓ API 명세서를 자동으로 편리하게 작성해주는 라이브러리적용Swagger 의존성 추가  implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2' ❗️ build.gradle 파일에 위의 의존성을 추가한다. ❗️ Spring과 Swagger 사이의 버전 호환이 되지 않아 오류 발생할 수 있으므로 발생하는 경우에는 버전에 맞게 수정하여 추가한다.Swagger Config 생성import io.swagger.v3.oas.models.Components;import io.sw..