nest.js 에서 Swagger 문서 보안하기

2024. 3. 22. 02:10· Dev
728x90

Swagger 문서에 왜 보안을 걸어야 할까?

 

실 서비스 중인 사이트에서 swagger 문서를 아무나 접근 할 수 있으면 어떻게 될까?

 

open api 를 제공 하는게 아니라면 모든 프로젝트 구조를 보여주는게 되지 않을까

 

그래서 해당 패키지를 설치하고 코드를 추가하자

 

npm install express-basic-auth

 

 

main.ts

import * as basicAuth from 'express-basic-auth';
app.use(
['/docs'],
basicAuth({
challenge: true,
users: {
[process.env.SWAGGER_USER]: process.env.SWAGGER_PASSWORD,
},
}),
);

 

 

해당 코드처럼 사용하는 이유

 

.env id 와 pw 를 관리해 코드에 하드코딩 안하고 환경변수로 지정

['/docs'], 해당 swagger 문서를 적어준다. 만약 없다면 모든페이지가 암호가 걸린다.

 

challenge 이유

 

 

대충 변역하면

challenge 옵션은 기본적으로 false 이고

false 상태면 미인증된 요청에 대한 응답에 WWW-Authenticate 챌린지 헤더를 추가하지 않는데

브라우저에서 인증이 필요한 페이지에 팝업을 표시하지 않음

true 상태면 WWW-Authenticate 챌린지 헤더를 추가하고

브라우저에서 인증이 필요한 페이지에 팝업을 표시함

 

 

다음은 challenge 가 false 일때

 

true 일때

 


 

참고 링크

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: 2 years ago. Start using express-basic-auth in your project by running `npm i express-basic-auth`. There are 415 other projects in the npm registry using express-basic-au

www.npmjs.com

 

저작자표시 비영리 변경금지

'Dev' 카테고리의 다른 글

Ubuntu 도커 gpg key 에러  (0) 2024.03.28
우분투 프로(Ubuntu Pro) 활성화 하기  (0) 2024.03.10
포크번(porkbun)도메인에 티스토리 연결  (0) 2024.02.01
'Dev' 카테고리의 다른 글
  • Ubuntu 도커 gpg key 에러
  • 우분투 프로(Ubuntu Pro) 활성화 하기
  • 포크번(porkbun)도메인에 티스토리 연결
고랑E
고랑E
300x250
고랑E
고랑의 개발일지
고랑E
전체
오늘
어제
  • 분류 전체보기 (209)
    • Project (18)
      • [팀] Color On Me (18)
      • [팀] Eats Finder (0)
    • Dev (14)
      • 네이버 클라우드 플랫폼(NCP) (3)
      • DB (3)
      • AWS (4)
      • GitHub (0)
    • Etc. (6)
      • 마인크래프트(Minecraft) (1)
      • 팰월드(PalWorld) (5)
    • 코딩캠프 (171)
      • 내일배움캠프 (99)
      • AI 웹개발 취업캠프 (72)

블로그 메뉴

  • 홈
  • 방명록
  • 글쓰기
  • 관리

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
고랑E
nest.js 에서 Swagger 문서 보안하기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.