본문 바로가기
개발/NestJS

[NestJS] swagger 보안(잠금)

by coking 2023. 4. 24.

실제 운영중인 서비스 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

 

express-basic-auth

Plug & play basic auth middleware for express. Latest version: 1.2.1, last published: a year ago. Start using express-basic-auth in your project by running `npm i express-basic-auth`. There are 351 other projects in the npm registry using express-basic-aut

www.npmjs.com

 

댓글