본문 바로가기
  • optimuslee
Nestjs

[Nestjs] 7. Guard 🥊🥊

by OptimusLee 2022. 6. 25.
728x90
반응형

 

 안녕하세요~! 오늘은 가드의 개념에 대해서 간단히 알아보도록 하겠습니다. 권투에서 가드는 우리의 몸을 보호하는 아주 중요한 동작입니다. 서버에서도 가드는 보호 및 보안을 담당하는 중요한 요소입니다. Guard는 허용된 유저가 아니면 접근을 막아버립니다. 만약 모든 유저가 모든 요청을 할 수 있게되면, 보안적인 부분에서 문제가 발생할 수 있기에 접근이 허용된 사람에 대하여 요청을 받고 응답을 전달하는 것입니다.

 

 

🥊Guard 개념

 

 

 

가드는 @Injectable() 데코레이터로 주석이 달린 클래스이며 CanActivate 인터페이스를 구현해야합니다. 특정한 조건에 따라 요청을 처리할 지 거부할 지를 결정합니다. express.js에서는 이를 미들웨서에서 처리했었습니다. 미들웨어는 함수를 호출한 후에 다음 핸들러가 무엇인지 알 수 없습니다. 하지만 우리가 오늘부터 다룰 가드는 ExecutionContext 인스턴스를 통해 다음에 무엇이 실행될 지 알 수 있습니다. 

 

🥊Guard의 기본적인 로직

 

1. 회원가입

2. 사용자 정보와 대응하는 jwt 생성

3. 사용자가 서버에 요청을 보낼 때, Header에 jwt을 담아서 보냄

4. Guard에서 확인 

5. 유효한 값이면 통과하고 그렇지 않으면 에러를 일으킴

 

 

🥊Guard를 통해 다뤄볼 내용

 

다음 장에서 가드 로직을 구현하는 방법에 대해서 다룰 것이며 이릍 통해 특정 권한이 부여된 사람만이 요청을 할 수 있도록 우리만의 특정 가드를 구현할 생각입니다. 

 

 

728x90
반응형