NestJS11 [NestJS] swagger 보안(잠금) 실제 운영중인 서비스 API가 아무런 잠금 없이 노출되고 사용되고 있다면 굉장히 위험한 상황일것이다. 그런일이 발생하지 않도록 swagger에 아이디와 비밀번호를 걸어보도록 하자!! NestJs는 기본적으로 express위에서 동작하기 때문에 express에서 사용하던 라이브러리를 사용하면 된다. 설치법 npm install express-basic-auth 사용법 import expressBasicAuth from "express-basic-auth"; app.use( ["/api"], expressBasicAuth({ challenge: true, users: { [process.env.SWAGGER_USER]: process.env.SWAGGER_PASSWORD } }) ); challenge옵션을.. 2023. 4. 24. [NestJS] AWS S3 Pre-signed URL 발급 현재 회사에서는 프론트에서 직접 s3에 이미지를 업로드하고 업로드한 url을 서버에 보내 DB에 저장하는 형식으로 진행되고 있었다. 근데 확인해보니 프론트에서 s3에 직접 업로드하는 과정에서 aws key값이 브라우저에 그대로 노출되고 있었고 이로 인해 해킹까지 이어질 수 있는 위험한 상황이었다. 그리하여 방법을 찾다가 Pre-signed URL을 알게 되었고 NestJS 서버에서 발급받는 방법을 정리하려고 한다. Pre-signed URL이란 무엇인가? 직역하자면 미리 서명된 URL이다. 쉽게 설명하자면 인증된 사용자가 s3에 접근해 인증된 url을 발급받고 이 url을 통해 객체에 접근해서 읽거나 수정하는 작업이 가능해지는 것이다. 주의할 점은 Pre-signed URL은 url을 아는 모두에게 Am.. 2022. 12. 18. [NestJs] 순환 종속성(Circular Dependency) 에러 A circular dependency between modules. Use forwardRef() to avoid it. Read more: https://docs.nestjs.com/fundamentals/circular-dependency 위 에러코드에 url은 순환 종속성을 해결하게 해주는 방법을 제공하는 NestJs 공식 url이다. 개발하면서 서버를 띄우면 종종 이런 에러가 발생하곤 한다. 과연 Circular Dependency라고 하는 이 녀석은 무엇일까? 바로 순환 종속성이라고 불리며 예를 들어 클래스 A에 클래스 B가 필요하고 클래스 B에 클래스 A가 필요하면 발생하며 클래스 A 클래스 B 이런 관계를 형성하고 있다고 보면 된다. 결국 A가 초기화되기도 전에 B가 A를 의존하기 때문에 .. 2022. 10. 23. TypeError: Class extends value undefined is not a constructor or null NestJS에서 테스트 코드를 작성하다가 발생한 에러이며 내가 발생한 상황에 대한 글은 하나도 없어서 나 같은 어려움을 겪고 있는 분들을 돕고자 작성한다! 회사 코드에 테스트 코드를 적용하기 위해 공부하면서 적용하던 중 에러를 만나게 되었는데 처음에는 도무지 감이 잡히지 않았으나 회사 코드를 다시 파악하던 중 나는 상속이 문제일 거 같다는 가설을 내리고 문제를 해결하려고 했다. 일단 이해를 위한 회사 엔티티 설계를 보여주려고 한다. 나 같은 경우는 엔티티에 공통으로 들어가는 것들을 편하게 작업하기 위해서 밑에 이미지와 같이 모든 엔티티에 반영될 생성일, 업데이트일, 삭제일을 공통 엔티티로 따로 빼서 상속을 하는 편이고 또한 생성될 때 누가 만들었는지 가 중요한 엔티티에서는 이렇게 다른 작성자가 같이 들어.. 2022. 9. 27. 이전 1 2 3 다음