Search

#033 #Swagger API 보안 설정 / 프론트 연결

 express-basic-auth

 설치

npm install express-basic-auth
JavaScript
복사

 미들웨어 등록

app.use( ['/docs', '/docs-json'], expressBasicAuth({ challenge: true, users: { [검증할 사용자 아이디] : 사용자 비밀번호, }, }), );
JavaScript
복사
main.ts 에다가 위 코드를 등록하고, 아이디와 비번은 환경변수로 세팅하는 것이 보안성이 좋다. 여기에 등록하는 id와 비번이 웹에서 입력할 때 일치해야지 사용할 수 있다.

 .env 환경변수 등록

루트 디렉토리 .env에 위 내용을 추가하자.

 미들웨어에 변수사용

.env환경변수에 있는 변수를 여기다가 가져와서 사용한다.

 Swagger 접속

여기에서 입력값이 환경변수 값이랑 일치해야된다 .

 접속 확인

Swagger문서에 보안성이 추가 되었다.

 JWT 시크릿도 변수로 관리

 JWT_SCERET 설정

.env에 JWT_SCERET을 등록한다.

 auth.module.ts 변수 사용

auth.module 내부에 sceret 부분에 환경변수를 사용한다.

 jwt.strategy.ts 변수 사용

jwt.strategy.ts 에서도 환경변수를 사용한다.

 다 끝난게 아니다.

모듈에서 환경변수를 사용할려면 해당 모듈 내에서 ConfigModule.forRoot() 를 등록해줘야 된다.
AuthModule에 등록
AuthModule에 ConfigModule.forRoot() 를 임포트 한다.

 테스트

 회원가입

회원가입 api가 잘 작동한다. response 로그만 남겨야 될거 같다.

 로그인

로그인 성공!