Spring 4

application.yml을 개발 환경마다 다르게 사용하기

Velog에서도 포스팅 중입니다:) Springboot) application.yml 환경마다 다르게 사용하기 개발을 하다보면 개발 옵션을 적용할 수 있는 applicaion.yml을 사용하게 되는데, 배포 환경에 따라 다르게 적용할 필요를 느낄 때가 있다. Develop 환경 / Release 환경 / Test 환경 등에서는 DB, server port velog.io 여러 개의 applicaion.yml 개발을 하다보면 개발 옵션을 적용할 수 있는 applicaion.yml을 사용하게 되는데, 배포 환경에 따라 다르게 적용할 필요를 느낄 때가 있다. Develop 환경 / Release 환경 / Test 환경 등에서는 DB, server port 등이 다르게 쓰이는 경우에 Build시에 매번 appl..

Spring/Spring Boot 2023.04.02

Spring boot를 이용한, Session VS JWT

Velog에서도 포스팅 중입니다:) Session VS JWT Todoary 프로젝트에서는 로그인 및 상태유지를 위해 Spring Security + JWT를 사용했다.그런데 막상 우리가 왜 Session + Cookie를 사용하지 않고, JWT를 사용했는가에 대한 의문이 생겼다. !! DB를 session저장소 velog.io Todoary 프로젝트에서는 로그인 및 상태유지를 위해 Spring Security + JWT를 사용했다. 그런데 막상 우리가 왜 Session + Cookie를 사용하지 않고, JWT를 사용했는가에 대한 의문이 생겼다. Session VS JWT 우리가 Session 대신 JWT를 이용한 이유는 서버에서 Session에 대한 정보를 통제할 필요가 없다. 다중 서버를 운영할 시에..

Spring/Spring Boot 2023.04.02

Spring Security + JWT로 구글 로그인 구현하기

Velog에서도 포스팅 중입니다:) Springboot 구글 OAuth2 로그인 + JWT JWT velog.io 이번에 앱 런칭(Todoary)을 준비하며 보안을 위해 Spring Security를 사용해 보았다. 개발은 Rest API 서버 개발이다. 요구사항은 일반 로그인 -> 자동 로그인 선택 가능 소셜 로그인 (구글 , 애플) -> 자동 로그인 매 요청마다 JWT (Access Token, Refresh Token) 를 이용한 인증 JWT는 DB에 저장되는 유저의 id를 이용한다. Access Token은 2시간, Refresh Token은 90일의 생명주기를 같는다. Refresh Token은 DB에 저장한다. 이다. Spring Security란? Spring의 하위 프레임워크로, Sprin..

Spring Security의 Architecture

모두 Spring Security 공식 문서를 참고해 정리했습니다. Architecture Spring Security는 filter와 annotation을 사용해서 애플리케이션 보안을 손 쉽게 도와줍니다. 애플리케이션의 보안은 크게 두 개의 독립적인 문제로 요약됩니다. Authentication : who are you?, 누구인지? Authorization : what are you allowed to do?, 어느 권한을 가졌는지? Spring Security는 이 둘을 분리해서 각자의 전략과 확장을 제공합니다. 먼저, Authentication과 Authorization을 분리해서 정리하겠습니다. 인증과 인가 Authentication Authentication의 가장 중요한 전략으로는 inter..