[python] python-dotenv를 사용하여 JWT 설정하기

웹 애플리케이션에서 JWT(Json Web Token)을 사용하여 사용자 인증을 구현할 때, 시크릿 키 및 구성 값을 안전하게 관리하는 것이 중요합니다. 이를 위해 python-dotenv 라이브러리를 사용할 수 있습니다. python-dotenv는 프로젝트 루트 디렉토리에 위치한 .env 파일에서 환경 변수를 읽어올 수 있는 라이브러리입니다.

python-dotenv 설치하기

먼저 python-dotenv 라이브러리를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다.

pip install python-dotenv

.env 파일 생성하기

프로젝트 루트 디렉토리에 .env 파일을 생성하고, 다음과 같이 JWT에 필요한 설정 값을 저장합니다.

# .env

SECRET_KEY=mysecretkey
JWT_EXPIRY_SECONDS=3600

환경 변수 로드하기

python-dotenv를 사용하여 .env 파일에서 환경 변수를 로드하는 방법은 간단합니다. 다음과 같이 코드를 작성할 수 있습니다.

# main.py

import os
from dotenv import load_dotenv

load_dotenv()

SECRET_KEY = os.getenv('SECRET_KEY')
JWT_EXPIRY_SECONDS = int(os.getenv('JWT_EXPIRY_SECONDS'))

print(SECRET_KEY)
print(JWT_EXPIRY_SECONDS)

위 코드는 .env 파일에서 SECRET_KEY와 JWT_EXPIRY_SECONDS 값을 로드하여 출력하는 예제입니다. load_dotenv() 함수를 사용하여 .env 파일을 로드한 후, os.getenv() 함수를 사용하여 해당 환경 변수 값을 가져올 수 있습니다.

결론

python-dotenv 라이브러리를 사용하여 JWT 설정 값을 환경 변수로 관리하면, 보안을 강화하고 코드의 재사용성을 높일 수 있습니다. 이를 통해 JWT 인증 설정을 손쉽게 변경하거나, 보안 업데이트를 적용하기 용이해집니다.

더 자세한 내용은 python-dotenv 공식 문서를 참조하시기 바랍니다.