Node.js에서 비밀을 처리하는 방법 🗝️🗝️🗝️ (환경 변수)

Node.js로 API 키와 같은 구성이나 비밀을 처리하는 가장 좋은 방법은 무엇입니까? 한 가지 간단한 방법은 환경 변수를 사용하는 것입니다.

노드 명령에 직접 전달하거나 package.json에 추가할 수 있습니다. 다음과 같은 index.js 가 있습니다.

const apiKey = process.env.API_KEY
console.log(apiKey)


예를 들어 다음으로 애플리케이션을 시작할 수 있습니다.

API_KEY=super-secret-key node index.js


당신은 또한 당신의 package.json에 같은 것을 넣을 수 있습니다

  ...
  "scripts": {
    "start": "API_KEY=super-secret-key node index.js"
  },
  ...

npm start 로 애플리케이션을 시작하십시오. 그렇게 하면 최소한 애플리케이션을 시작할 때마다 API 키를 입력할 필요가 없습니다.

이 접근 방식의 문제는 package.json을 저장소에 커밋해야 한다는 것입니다. 그러나 이와 같은 비밀 키를 공유해서는 안 됩니다. 그래서 더 좋은 방법이 있습니다: .env 파일을 사용하는 것입니다.

따라서 이 .env 파일에 API 키를 추가하고 이전과 같이 dotenv 라이브러리를 사용하여 사용할 수 있습니다.

운영

npm install dotenv


라이브러리를 설치합니다.

그런 다음 응용 프로그램에서 다음과 같이 가져 와서 사용하십시오.

require('dotenv').config();

const apiKey = process.env.API_KEY
console.log(apiKey)


이제 '.env' 파일에 비밀이 포함됩니다.

API_KEY=super-secret-key

Ideally, you would then also create an entry in your .gitignore 버전 제어에서 .env 파일을 제외합니다.

이것을 .gitignore에 넣으십시오.

.env

This way you have all your secrets in one place and you don't accidentally leak any secrets.

좋은 웹페이지 즐겨찾기