들어가면서 이번 프로젝트에서 Spring Security를 맡게되었고 인증&인가에 대해 배우게 되었다. 그 중 JWT를 사용하여 인증&인가를 진행했는데, 이때 Access Token과 Refresh Token의 차이와 역할에 대해 배우게 되었다.해당 글에서는 특히 Refresh Token이 왜 필요한지, 보안을 위해 어떻게 사용될 수 있는지에 대해 알아볼 예정이다. Refresh Token이 필요한 이유JWT은 유저의 신원이나 권한을 결정하는 정보를 담고 있다. Access Token, 즉 단일 토큰만 발행한 경우에는 다음과 같은 로직을 가진다. JWT 토큰 인증방식은 비밀키로 암호화를 하기에서버와 클라이언트는 JWT를 통해 안전하게 통신한다. 로그인 성공시 서버측에서 클라이언트로 JWT를 발급한다.권한..

전체 글
백엔드로 살아남기 입니다.서론 JPA를 이용해 프로젝트를 구성해보거나 실습을 해보았다면, 당연하게도 Entity를 만들어 사용해본 적이 있을 것이다. 그런데, 이 Entity, 낯선 annotation이 덕지덕지 붙어있어서 그렇지, 본질적으로는 자바 객체이다. 즉, 객체 지향 프로그래밍의 가장 큰 특징 중 하나인, 상속과 다형성을 활용한 구성이 가능할 수밖에 없다. 공식 문서를 읽어보기 전까지는 상속을 이용해 Entity를 구성해보겠다는 생각조차 한 적이 없었다. 그래서, 이번 글에서는 추상/일반 클래스를 상속해 Entity를 구성하는 법에 대해 간단하게 정리해보겠다.Entity Inheritance Entity는 Entity가 아닌 클래스, Entity인 클래스 모두 상속할 수 있다. 또 상속에 사용되는 Entity 클래스는 ..
React Testing Library테스트의 종류Unit Test함수나 컴포넌트, 코드의 한 유닛 혹은 단위를 테스트한다.유닛 테스트는 테스트를 최대한 격리시킨다.유닛이 다른 코드의 유닛과 상호 작용하는 것은 테스트하지 않는다.컴포넌트가 의존하는 다른 함수가 있으면 실제 버전이 아닌 테스트용 버전을 사용한다.Integration Test컴포넌트 간, 유닛간의 상호작용을 테스트 한다.Functional Test소프트웨어의 특정 기능을 테스트한다.특정 코드의 함수가 아닌 소프트웨어의 일반적인 동작을 의미한다.React Testing Library는 Functional Test를 권장한다.E2E Test실제 브라우저와 서버를 사용하여 사용자 관점에서 테스트 한다.React Testing LibraryReac..