본문 바로가기

분류 전체보기280

Spring Boot) 백 & 프론트 카카오 로그인 API 구현하기 카카오 공식문서에 있는 로그인 과정이다.처음부터 보고 로직 이해를 하면 구현이 한결 쉬워진다. 공식문서의 위력을 다시 한 번 느꼈다. 간단하게 정리해보면 다음과 같다.1. 카카오 로그인 완료 후 Redirect URI로 인가 코드 발급됨.2. 인가 코드를 통해 카카오 서버로 토큰 요청.3. 토큰을 통해 카카오 로그인 한 사용자 정보를 받아올 수 있음.4. 해당 사용자 정보를 이용해 회원가입 or 로그인 처리.  로직을 토대로 우리 프로젝트에서 적용한 플로우는 다음과 같다.1. 프론트-> 카카오 kakao.Auth.Authorize()이용해 카카오 로그인 화면 요청 2. 카카오-> 백 로그인 완료되면 code와 함께 자동으로 백 리다이렉트 url로 넘어감 (~~/oauth/kakao/callback?cod.. 2024. 8. 24.
Spring Security + JWT 인증 인가 구현하기(로그인 API, 인증이 필요한 API) 1. 로그인 구현비밀번호가 일치하면 토큰을 생성해서 내려준다. 구현해야할 것- 로그인 컨트롤러- 로그인 서비스- JwtUtils 클래스에 token 생성 로직 컨트롤러@PostMapping("/login") public ResponseEntity signIn( @RequestBody @Valid SignIn.Request request) { return ResponseEntity.ok(memberService.signIn(request)); } 서비스public SignIn.Response signIn(SignIn.Request request) { Member member = getMemberByEmail(request.getEmail()); .. 2024. 8. 16.
Spring Boot 3.x 버전에서 Spring Security 적용기 * 스프링 시큐리티 버전확인하기 Gradle - Dependencies - 'security' 검색하여 확인할 수 있다. 6.3.1 버전으로 확인된다. 스프링 시큐리티 5.7버전 이상부터는 더이상 WebSecurityConfigurerAdapter가 사용되지 않는다고 한다.이전 프로젝트는 5.7.11 버전이었고 WebSecurityConfigurerAdapter를 상속받아 SecurityConfig를 구성했었었는데 더이상 그대로 제작할 수 없게 되었다.(5.7.11버전에서 저렇게 줄이 그어져있긴 하지만 사용할 수는 있었다.)GiftFunding) Spring Security를 이용한 로그인 구현 (tistory.com) GiftFunding) Spring Security를 이용한 로그인 구현Spring .. 2024. 8. 13.
Spring Boot) 회원가입 시 PasswordEncoder 이용해 비밀번호 암호화 초기에 백엔드 개발을 배울 때 했던 건데 다시 하려니까 기억이 잘 안나서 다시 정리하려고 한다. 1. 의존성 주입implementation 'org.springframework.boot:spring-boot-starter-security' 2. PasswordEncoder @Bean으로 등록 * Bean으로 등록하지 않으면 아래와 같은 오류가 난다.Description: Parameter 1 of constructor in com.sj.Petory.domain.member.service.MemberService required a bean of type 'org.springframework.security.crypto.password.PasswordEncoder' that could not be foun.. 2024. 8. 12.
Jenkins로 CI/CD 구축하기 - (3) Jenkis Webhook 등록으로 Repo에 Push 하면 자동빌드 하기 Jenkins로 CI/CD 구축하기 - (1) EC2 docker에 Jenkis 설치 및 SWAP 메모리 할당 (tistory.com) Jenkins로 CI/CD 구축하기 - (1) EC2 docker에 Jenkis 설치 및 SWAP 메모리 할당Dockerfile을 만들었지만 아무 것도 안 써줌 Jenkins에 접속해서 Docker를 누르고 Docker Pull Command를 복사해서 터미널에 입력한다 !https://www.jenkins.io/download/ Download and deployJenkins – an open source automation sesoni-developer.tistory.comJenkins로 CI/CD 구축하기 - (2) Jenkis CI/CD 파이프라인 구축하기 + C.. 2024. 8. 9.
Jenkins로 CI/CD 구축하기 - (2) Jenkis CI/CD 파이프라인 구축하기 + Credentials 등록 지난 Jenkins 설치에 이어 파이프라인 구축을 해보려고 한다.Jenkins로 CI/CD 구축하기 - (1) Jenkis 설치 및 SWAP 메모리 할당 (tistory.com) Jenkins로 CI/CD 구축하기 - (1) Jenkis 설치 및 SWAP 메모리 할당Dockerfile을 만들었지만 아무 것도 안 써줌 Jenkins에 접속해서 Docker를 누르고 Docker Pull Command를 복사해서 터미널에 입력한다 !https://www.jenkins.io/download/ Download and deployJenkins – an open source automation sesoni-developer.tistory.com 파이프라인 작성에 앞서 해야할 일이 Credentials 등록이다. Cr.. 2024. 8. 9.
Jenkins로 CI/CD 구축하기 - (1) EC2 docker에 Jenkis 설치 및 SWAP 메모리 할당 Dockerfile을 만들었지만 아무 것도 안 써줌 Jenkins에 접속해서 Docker를 누르고 Docker Pull Command를 복사해서 터미널에 입력한다 !https://www.jenkins.io/download/ Download and deployJenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their softwarewww.jenkins.io 젠킨스 컨테이너 설치$ sudo docker run -d --name jenkins -p 9090:9090 jenkins/jenkins:jdk11-d : 컨테이너를 데몬으로 띄운다.--n.. 2024. 8. 7.
RDS Maria DB 초기 세팅 + 데이터 저장 시 Incorrect String Value 오류 해결 db 인스턴스 생성> create database petory; 사용자 생성 및 권한 부여// 사용자 생성> create user 'petory'@'%' identified by 'Qjrtmqjsl123!'//petory db에 대한 모든 권한 부여> grant all privileges on petory.* to petory@%;> flush privileges; yml 설정spring: config: activate: on-profile: prod datasource: driver-class-name: org.mariadb.jdbc.Driver url: jdbc:mariadb://{rds엔드포인트}:3306/petory username: petory passwo.. 2024. 8. 7.
MariaDB - Incorrect String Value 오류 해결 (한글 인코딩 문제) MariaDB 한글 인코딩 오류{    "errorCode": "INTERNAL_SERVER_ERROR",          "errorMessage": "could not execute statement [(conn=10521) Incorrect string value: '\\xEC\\x86\\x8C\\xEC\\x9D\\x80' for column `petory`.`member`.`name` at row 1] [insert into member (created_at,email,image,name,password,phone,updated_at) values (?,?,?,?,?,?,?) returning id]; SQL [insert into member (created_at,email,image,name,.. 2024. 8. 7.
728x90