본문 바로가기
[WEB]/Node.js

Nodejs[Express] - 비밀키 관리

by hi_kmin6 2020. 4. 13.

Node.js를 배우며 express와 MongoDB를 사용하는 것을 익히고 있습니다.

 

서버를 시작하며 MongoDB에 접속하기 위해서 계정과 비밀번호를 필요로 했습니다. 하지만 이를 연결 부분 코드에 직접 입력하여 실행을 하는 경우 비밀키의 유출 문제가 발생할 수 있어, 이를 해결해야 했습니다.

 

비밀키 및 환경변수 같은 것들을 보호하기 위한 패키지가 있습니다. "dotenv"라는 패키지입니다.

 

dotenv 패키지를 받고, 프로젝트 내의 디렉터리에 .env 파일을 생성합니다. 그러고 나서 .env파일에 "키=값" 형식으로 비밀키들을 입력해줍니다.

 

MONGODB_USER=몽고디비유저이름
MONGODB_PW=몽고디비비밀번호
SECRET_KEY=비밀키
SECRET_NAME=비밀이름

 

위와 같이 입력 후 이를 사용할 때는 다음과 같은 코드를 사용해서 사용할 수 있습니다.

 

const mongoose = require("mongoose");
require("dotenv").config();

module.exports = () => {
  const connectDB = () => {
    ...
    // Mongoose와 MongoDB를 연결하는 부분입니다.
    mongoose.connect(
      `mongodb://${process.env.MONGODB_USER}:${process.env.MONGODB_PW}@localhost:27017/admin`,
      ...
    );
  };
};

 

require('dotenv'). config()를 통해서 환경변수를 불러오고, process.env 객체를 통해서 입력해둔 환경변수들을 사용하면 됩니다.

 

.env파일만 노출되지 않도록 관리한다면 안전한 프로그램이 될 것입니다.

'[WEB] > Node.js' 카테고리의 다른 글

React.js 와 Express 연동  (0) 2020.06.23
Node.js - Passport.js 사용  (0) 2020.05.27
Node.js - Express와 Babel 그리고 Nodemon  (0) 2020.05.12
Node.js - Express로 서버 개발시 초기 설정  (0) 2020.05.06
Node.js -Nodemon  (0) 2020.04.24