실제 운영중인 서비스 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옵션을 끄면 헤더로 아이디,비밀번호를 전송해야 하며 true 설정시 팝업으로 물어보게 할 수 있다.
사용법은 굉장히 간단하다 설치하고 그냥 main.ts에 적용해주면 되고 아이디와 비밀번호 같은 경우에는 노출을 막기위해 env파일에서 관리하도록 하면된다.
https://www.npmjs.com/package/express-basic-auth
'개발 > NestJS' 카테고리의 다른 글
[NestJS] 의존성 주입의 모든 것: Provider와 useClass, useFactory, useValue 사용법 (1) | 2024.10.23 |
---|---|
[NestJS] CORS default의 함정 (0) | 2024.03.10 |
SQL injection(Feat. TypeORM) (0) | 2023.02.15 |
[NestJS] AWS S3 Pre-signed URL 발급 (0) | 2022.12.18 |
[NestJS] Swagger에서 return type을 여러 개 설정하는 법 (0) | 2022.12.03 |
댓글