인증
-
[Nest.js, Guard, Save request] Guard를 활용한 엔드포인트 보호Back-end 2021. 12. 13. 15:55
안녕하세요! 오늘은 프로젝트에서 허용되지 않은 접근에 대한 자원 request를 막을 수 있는 nest.js guard에 대해서 알아보도록 하겠습니다! 로그인을 한 유저만 엔드포인트에서 자원을 요청할 수 있는 작업을 해야할 때 우리는 이 nest.js의 guard를 사용할 수 있습니다. 미들웨어로도 처리해도 충분하지 않나요? 가드와 미들웨어의 차이는 실행 시기에 있습니다. 우선 미들웨어는 next() 함수를 호출한 후 어떠한 핸들러가 실행될 지 알 수 없습니다. 반면 가드는 ExecutionContext 인스턴스에 액세스할 수 있으므로 다음에 실행될 작업을 정확히 알고 있습니다. request와 response의 정확한 지점에 우리는 이 Guard를 삽입하여, 요청에 대한 거부, 혹은 승인을 할 수 있는..
-
[Authentication, Nest.js, JWT] Nest.js에서 JWT 동적모듈,미들웨어 구현해보기Back-end 2021. 12. 12. 21:40
안녕하세요! 오늘은 더 나은 사람들 서비스의 로그인 부분 진행 중 nest.js 환경에서 JWT를 이용해 로그인을 구현하고 있었습니다. 🐤 다들 로그인 인증 부분을 어떻게 처리하시나요? 👀 nest.js의 강력한 인증라이브러리인 passport가 있지만, JWT 동적 모듈을 따로 구현하여 컨셉도 다시 익히고 개념 정리도 하면서 포스팅을 할려고 합니다. 구현 방향은 다음과 같습니다. 프로젝트 내 구현 프로세스 1. 로그인 시 JwtService의 signToken 함수로 praviate key와 함께 토큰을 사인 (JSON 안의 내용은 다음과 같습니다.) const token = this.jwtService.signToken({ id: (await user).id, nickname: (await user)..