본문 바로가기

Research/Nest.js32

nestjs_docs_JWT Authentication nestjs 공식문서 Authentication 파트를 요약 정리한 내용입니다(https://docs.nestjs.com/security/authentication) 인증과 인가 차이 어플리케이션은 사용자의 권한을 확인하기 위해 1)인증(authentication)과 2)인가(authorization) 작업을 한다. 1)인증은 유저가 자신이 서비스를 사용할 수 있음을 증명하는 것이고 2)인가는 인증된 유저가 특정 기능에 대한 사용 권한이 있는지 판별하는 것이다. authentication 모듈 생성 $ nest g module auth $ nest g controller auth $ nest g service auth유저 관련 작업 수행을 캡슐화시키기 위해 UsersService도 생성해주자. $ nes.. 2023. 9. 22.
nestjs_에러해결_DTO validation 작동이 되지 않는 문제 상황 users 생성 POST API에 email, name, password를 body 값으로 받아준다. 이때 DTO에 적용했던 validation에 걸리는 body 값 형식은 모두 예외처리하도록 하고싶다. 문제 DTO를 적용하면 바로 해결될 것이라 생각했으나, 예외 처리가 되지 않고 정상적으로 요청이 수신되었다. ... @UseFilters(HttpExceptionFilter) @Controller('users') export class UsersController { constructor(private readonly usersService: UsersService) {} @Get() getCurrentUser() { return 'currentUser'; } @Post() async signUp(.. 2023. 4. 26.
nestjs_실패로그_프로젝트 docker 환경변수 설정 문제 상황 프로젝트를 Docker 이미지로 빌드한 다음 배포하기 전에 실행을 해보았는데, 환경변수 문제로 실행되지 않는 것으로 보인다. 이 문제를 해결하다가 시간 부족으로 일단 잠시 덮어두고, 훗날 참고를 위해 기록을 남겨둔다. 목표 nest.js 프로젝트 docker로 배포하기 Dockerfile 생성 # 프로젝트 루트폴더에 파일명 Dockerfile 생성 FROM node:18 # 명령들이 실행될 경로 RUN mkdir -p /var/app WORKDIR /var/app COPY package*.json ./ RUN npm install COPY . . RUN npm install RUN npm run build EXPOSE 3000 CMD [ "node", "dist/main.js" ] .dockerig.. 2023. 4. 26.
nestjs_error_html formData를 axios로 서버에 전송하기 HTML에서 form 데이터를 보내도 빈 객체만 전달된다. POSTMAN으로 보낼 땐 잘 되는데, 프론트 단에서 보내면 이렇게 된다. 왜그럴까? Email address Password Submit 버튼 코드는 이렇다. 해결 Axios를 사용하기 위해 HTML 바디 끝 바로 위에 axiod CDN을 추가해준다. Email address Password Submit axios로 email, password를 post로 전송해준다. 추가로 form input에 name 프로퍼티를 추가해줘야 한다. 내가 이 부분을 누락해서 데이터 전송에 실패한 것으로 보인다. 정상적으로 서버에 잘 전달되었다. @Controller('users') export class UsersController { constructor(p.. 2023. 4. 17.