본문 바로가기

Nest2

JWT 로그인 구현 (With Nest, React) 아마도 로그인 기능을 구현하는 방법은 여러가지가 있을 것이다. 쿠키, 세션, JWT토큰 등의 방법이 있는데 나는 JWT토큰을 사용하여 기능을 구현하려 한다. 우선 위 방법들의 차이가 무엇인지 간단하게 살펴 보자. 1. 세션 사용자 정보 파일을 브라우저에 저장하는 쿠키와 달리 세션은 서버 측에서 관리 사용자가 많아질수록 서버 메모리를 많이 차지 서버는 클라이언트를 구분하기 위해 세션 ID를 부여하며 브라우저를 종료할 때까지 인증상태를 유지 보안 면에서 쿠키보다 우수 세션 동작 방식 1. 유저가 로그인 요청 2. 서버에서 세션 생성 후, 세션 아이디 반환 4. 유저가 API요청 시, 세션ID를 함께 전송 5. 세션 ID가 유효할 시, 응답을 보냄 2. 쿠키 인증 유효시간 설정가능, 유효 시간이 정해지면 브라.. 2023. 9. 24.
[Nest] Repository Pattern 아마도 Nest에서 Service단에서 DB에 바로 접근하는 것은 좋지 못한 것 같다. 실제로 회사에서 .NET CORE로 백엔드 서버를 만들 때, 이곳 저곳에서 분별없이 DB에 접근을 하다보니 여러가지 문제가 있었다. 실제 가장 문제가 되었다고 느끼는 부분은 1. 하나의 함수, 변수를 수정할 때 사이드 이펙트가 생길 가능성이 높다. 처음에는 내가 만든 함수가 어떤 변수를 사용하는지, 어느 곳에서 호출하는지 고려하고 기능의 추가 혹은 수정이 가능했지만 프로젝트가 커지면서 점점 예상치 못한 문제들이 발생하기 시작했다. 특히 DB와 관련된 기능들은 되돌릴 수 없는 문제를 야기할 수 있기 때문에 특히나 조심해야 함을 느꼈다. 즉 개체간의 결합도를 낮추는 작업이 필요하다. 2. 데이터 로직과 비즈니스 로직이 분.. 2023. 9. 3.