본문 바로가기

Back-end2

[Nest] Nest + TypeORM 환경에서 DTO 데코레이터, Exception, Exception Filter 커스텀 해보기 (feat. 에러 메시지) # DTO란?DTO(Data Transfer Object, 데이터 전송 객체)는 프로세스 간 데이터를 전달하는 객체를 의미합니다. 데이터를 전송하기 위해 사용하는 객체기 때문에 비즈니스 로직 같은 복잡한 코드는 없고 순수하게 전달하고 싶은 데이터만 정의합니다. 주로 클라이언트와 서버가 데이터를 주고받을 때 사용하는 객체입니다.# DTO를 작성하는 이유Express + Javascript로 api를 구성하고 작성할 때는, Controller Layer에서 req.body 내부에 있는 값을 하나하나 if문으로 유효성 검증과 타입 체크를 해서 에러를 반환하는 형식으로 구성했습니다. (사실 Typescript 기반으로 작성한다면 DTO를 작성하는 과정은 존재할 것이지만, Nest를 접하기 전에는 많은 프로젝트를.. 2024. 6. 10.
인증 & 인가 (Authentication & Authorization) # 인증 인증이란 누군가 또는 시스템이 실제로 누구인지 혹은 어떤 시스템인지 결정하는 과정이다. 사용자의 자격 증명 정보와 서버의 자격 증명 정보와 일치하는지 확인하고 이 절차를 통과한 것들에 대해 엑세스 제어를 제공한다. 쉽게는, 돈을 인출하려고 은행에 가면 은행원에게 통장과 도장 혹은 사인을 제시해야한다. 내가 제시한 정보가 은행의 정보와 맞지 않는다면 돈을 인출할 수 없게 된다. ## 인증의 유형 1. SFA(단일요소인증) : 자격 증명 정보로써 사용자 ID와 암호만을 요구한다. SFA는 ID와 비밀번호만 알아도 보안에 쉽게 문제가 생길 수 있다는 단점이 있다. 2. 2FA : 자격 증명 정보를 한가지 더 요구한다. 지문이나 디바이스의 고유코드를 추가적으로 요구해 인증을 강화했다. 3. MFA : .. 2023. 2. 14.