Spring - Spring Security + JWT 적용기 3편: 로그아웃
·
Spring
Spring Security + JWT 적용기 2편: JWT검증 이어지는 글입니다. Spring - Spring Security + JWT 적용기 2편: JWT 검증`Spring Security + JWT 적용기 1편: 로그인`에 이어지는 글입니다. Spring - Spring Security + JWT 적용기 1편: 로그인 Spring Security란? Spring Security는 Spring에서 인증(Authentication)과 인가(Authorization) 기능을 지원하green-bin.tistory.com만약 사용자가 로그아웃을 하게되면 발급했던 토큰은 어떻게 관리해야 할까? 이번 시간에는 사용자가 로그아웃을 했을 때의 Security 처리에 대해 알아보자 로그아웃 흐름클라이언트에서 서버로..
Spring - Spring Security + JWT 적용기 2편: JWT 검증
·
Spring
`Spring Security + JWT 적용기 1편: 로그인`에서 이어지는 글입니다. Spring - Spring Security + JWT 적용기 1편: 로그인Spring Security란? Spring Security는 Spring에서 인증(Authentication)과 인가(Authorization) 기능을 지원하는 보안 프레임워크로써, Spring MVC 기반 애플리케이션에 보안을 적용하기 위한 표준이다. Spring Security 덕green-bin.tistory.com이전 글에서 Spring Security + JWT를 통한 로그인을 통해 서버에서 JWT를 생성해서 클라이언트에 보내주었다. 이제 클라이언트에서 요청과 함께 전달한 JWT Access Token을 검증해야 한다. JWT 검증 ..
Spring - Spring Security + JWT 적용기 1편: 로그인
·
Spring
Spring Security란?Spring Security는 Spring에서 인증(Authentication)과 인가(Authorization) 기능을 지원하는 보안 프레임워크로써, Spring MVC 기반 애플리케이션에 보안을 적용하기 위한 표준이다. Spring Security 덕분에 Interceptor나 Servlet Filter를 이용해서 직접 Security를 구현할 필요가 없다. 우리는 직접 구현하기보다 잘 만들어진 Spring Security를 이용하는 것이 좋은 선택이다. JWT를 사용한 이유세션 기반 인증 방식은 사용자의 로그인 정보를 서버 측에서 관리하기 때문에, 서버에 부하가 발생할 수 있다. 그리고 우리는 REST API를 이용한 CSR 방식의 백엔드 서버를 개발할 것이기 때문에 ..
Spring - 나의 첫 통합 테스트(Integration Test)
·
Spring
새로운 프로젝트를 진행하면서 가장 큰 목표 중 하나는 테스트 코드에 충분한 시간과 노력을 들여서 안정적인 애플리케이션을 개발하기였다. 이번에 처음 통합 테스트를 구현했던 과정과 배운 내용을 정리해 본다. (피드백 환영!) 통합 테스트 공통 Class 통합 테스트에 공통적으로 사용할 수 있는 공통 클래스를 만들었다. @Disabled @Transactional @SpringBootTest @AutoConfigureMockMvc @AutoConfigureRestDocs @ActiveProfiles("test") @ExtendWith(RestDocumentationExtension.class) public class BaseIntegrationTest { @Autowired protected MockMvc m..
Spring - Spring Profile로 다양한 개발 환경 설정 관리하기
·
Spring
새로운 프로젝트를 진행하면서 다양한 개발 환경에 맞게 애플리케이션 설정을 관리할 수 있는 프로파일을 적용하면서 알게 된 내용을 정리해 본다. 환경변수 yml 파일의 프로퍼티 값을 전달받아 스프링 애플리케이션 내부에서 사용할 수 있다. 예를 들어 yml에 다음과 같이 security.jwt.token.secret-key 라는 환경변수 값을 추가하고 스프링 빈에 주입해 주면 애플리케이션이 실행될 때 잘 동작한다. security: jwt: token: secret-key: testkey @Component publci class SecretKey { @Value("${security.jwt.token.secret-key"}) private String secretKey; } 그런데 개발 과정에서는 상황에 따..
Spring Security - Spring Security란?
·
Spring
Spring Security란?Spring Security는 Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크이다.Spring Security는 인증과 권한에 대한 부분을 Filter 흐름에 따라 처리한다.Filter는 Dispatcher Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Dispatcher와 Controller 사이에 위치한다는 점에서 적용 시기의 차이가 있다.Spring Security는 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 된다는 장점이 있다. 인증관련 architecture 인증(Authentication)과 인..
Spring - Spring initializr로 프로젝트 생성하기
·
Spring
매번 프로젝트를 사용하지만 헷갈리는 기능들이 있어서 정리해 본다.Spring initializr스프링 프로젝트를 쉽게 만들 수 있도록 Spring에서 제공하는 기능이다.아래 링크를 통해 이동할 수 있다.https://start.spring.io/ 그러면 아래와 같은 화면이 나온다.\Project사용할 빌드 툴을 선택한다.이전에는 Maven을 사용했지만 지금은 보통 Gradle을 사용한다.Language사용하려는 언어를 선택한다.Spring BootSpring Boot 버전을 선택한다.개발 중인 버전(SNAPSHOT), 정식 릴리즈되지 않은 버전(M1)이 붙지 않은 버전인 정식 릴리즈 버전을 사용하면 된다.Project Metadata사실 이 메타데이터 부분이 매번 헷갈려서 이 글을 작성하게 되었다.Gro..
Spring - Thmbnail 이미지로 웹 성능 향상시키기
·
Spring
얼마 전 S3로 이미지를 저장하고 저장된 이미지의 URL을 반환하는 기능을 구현했다.하지만 한 가지 문제가 있었는데, 고용량의 이미지가 그대로 올라간 것이다. Thumbnail 이미지를 생성하는 이유썸네일 이미지를 생성하면 이미지의 파일 크기를 크게 줄일 수 있다. 즉, 이미지가 더 빨리 전송되기때문에 웹 성능이 향상된다. 더 좋은 사용자 경험을 전달할 수 있다.더 작은 용량의 이미지를 전달하기 때문에 서버의 부하를 줄이고 더 많은 요청을 동시에 처리할 수 있다.Thumbnail 이미지를 생성해서 사용자 경험을 개선하고 리소스 사용량을 줄여보자 AmazonS3ResourceStorage보통 원본 이미지와 썸네일 이미지를 같이 저장하지만 우리 서비스에서 이미지는 챌린지 참여 인증 사진용으로 일회용으로 사용..
Spring - Jasypt를 사용해서 application.yml 프로퍼티 암호화하기
·
Spring
프로젝트를 진행하다 보면 각종 민감한 Password와 같은 프로퍼티를 외부로부터 안전하게 보관해야 할 일이 많다. 실수로라도 Github에 업로드한다면 끔찍한 일이 벌어질 것이다... 이럴 때 사용할 수 있는 Jasypt 라이브러리 사용법에 대해 araboza Jasypt는 자바 애플리케이션의 설정파일(application.yml, application.properties 등)을 암호화할 수 있도록 지원하는 라이브러리다. 암호화된 설정 파일은 애플리케이션의 버전관리 시스템에서 안전하게 관리할 수 다. 아래는 Jasypt를 사용하여 스프링 부트 애플리케이션에서 application.yml 파일의 값을 암호화하는 방법이다. 1. Jasypt 의존성 추가 build.gradle 파일에 아래와 같이 의존성을 ..
Spring - Spring으로 AWS S3에 이미지 업로드하기2: Spring에서 기능 구현
·
Spring
이전 글 참고! AWS - Spring으로 AWS S3에 이미지 업로드하기1: S3 버킷과 IAM 생성 이번에 진행하는 프로젝트에서 AWS S3에 파일을 저장/수정/삭제할 수 있는 기능 구현을 담당하게 되었다. 버킷 생성부터 업로드 로직 구현까지의 과정을 정리해 본다. S3를 사용하는 이유 S3는 거 green-bin.tistory.com Gradle Dependency build.gradle implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' 어플리케이션 환경설정 application.yml cloud: aws: s3: bucket: challenge66.file.bucket # s3 버킷 이름 region:..
Cold Bean
'Spring' 카테고리의 글 목록 (3 Page)