본문 바로가기
  • optimuslee

Server3

[Nestjs]7-1. Guard 기본적인 구현 방법 안녕하세요~!! 오늘은 저번 시간에 알아본 가드에 대해서 직접 구현해보는 시간을 갖도록 하겠습니다. 🥊Authorization guard 사용자 인증은 가드의 예시 중 가장 대표적인 예시입니다. 우리가 구현할 AuthGuard는 사용자의 헤더에 특정 토큰이 제대로 들어있는 지 확인하는 것입니다. import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common'; import { Observable } from 'rxjs'; @Injectable() export class AuthGuard implements CanActivate { canActivate( context: ExecutionContext ): boolean | Promise.. 2022. 6. 25.
[Nestjs] 7. Guard 🥊🥊 안녕하세요~! 오늘은 가드의 개념에 대해서 간단히 알아보도록 하겠습니다. 권투에서 가드는 우리의 몸을 보호하는 아주 중요한 동작입니다. 서버에서도 가드는 보호 및 보안을 담당하는 중요한 요소입니다. Guard는 허용된 유저가 아니면 접근을 막아버립니다. 만약 모든 유저가 모든 요청을 할 수 있게되면, 보안적인 부분에서 문제가 발생할 수 있기에 접근이 허용된 사람에 대하여 요청을 받고 응답을 전달하는 것입니다. 🥊Guard 개념 가드는 @Injectable() 데코레이터로 주석이 달린 클래스이며 CanActivate 인터페이스를 구현해야합니다. 특정한 조건에 따라 요청을 처리할 지 거부할 지를 결정합니다. express.js에서는 이를 미들웨서에서 처리했었습니다. 미들웨어는 함수를 호출한 후에 다음 핸들러.. 2022. 6. 25.
[Nestjs] 3. Controller?? 오늘은 nestjs의 controller에 대해 같이 알아보도록 하겠습니다. controller는 말 그대로 어떤 것을 제어한다는 뜻입니다. 과연 그렇다면 어떤 것을 어떻게 제어하는 것일까요?? nestjs에서 controller는 client로부터 server로 들어온 요청을 처리하고 응답을 반환하는 역할을 합니다. 아마도 이전에 express.js로 작업을 해본 경험이 있는 분들이라면 무슨 말인지 쉽게 이해하실 수 있을 것입니다. (서버와 관련된 공부를 전혀하지 않았더라도 상관없으니까 겁먹지 마세요~!!) 물론 처음에는 이 기능이 굳이 필요한가? 라는 의문이 들기도 합니다. 하지만 서버의 구조가 복잡해지고 커지면 유수/보수 과정에 어마어마한 시간과 노력이 필요하기에 초기에 구조를 정확하게 잡아놓기 위.. 2022. 3. 27.