728x90
1. 문제상황
2022.04.19 - [그 땐 IT활동했지/그 땐 영일영 근무했지] - [010/API] Naver API | 블로그, 카페 글 크롤링 해오기
이전 포스팅을 보면 Naver API KEY를 view에서 그냥 변수에 할당해 사용했다. 하지만 API KEY를 이렇게 관리하면 안 된다! 다른 사람이 악의적으로 이용할 수도 있기 때문이다. 그러므로 이러한 현상을 막기 위해 API KEY를 secret.json으로 관리하는 법을 알아보자!
2. API KEY 관리
secret.json 파일 만들기
👉🏻먼저 secret.json 파일을 만든다.
{
"Naver_id": "본인 API KEY",
"Naver_secret": "본인 SECRET KEY"
}
👉🏻이러한 형식으로 API KEY를 적어준다.
settings.py에 불러오기
import os
import json
from django.core.exceptions import ImproperlyConfigured
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
secret_file = os.path.join(BASE_DIR, 'secrets.json')
with open(secret_file) as f:
secrets = json.loads(f.read())
def get_secret(setting, secrets=secrets):
try:
return secrets[setting]
except KeyError:
error_msg = "Set the {} environment variable".format(setting)
raise ImproperlyConfigured(error_msg)
👉🏻기존에 있던 SECRET_KEY를 get_secret 함수로 대체하면 secret.json에서 API KEY를 불러올 준비는 끝
NAVER_API = get_secret("Naver_id")
NAVER_SECRET = get_secret("Naver_secret")
👉🏻get_secret의 인자로 secret.json에서 설정했던 변수명을 넣어주어 API KEY와 SECRET KEY를 얻는다.
view에서 사용하기
from django.conf import settings
👉🏻먼저 settings를 import해준다.
client_id = settings.NAVER_API
client_secret = settings.NAVER_SECRET
👉🏻이전 코드를 다음과 같이 바꿔준다.
secret.json 파일 숨겨주기
👉🏻이렇게 기껏 비밀스럽게 만들어두고 github에 그냥 올려버리면 안되겠죠? .gitignore파일에 secret.json을 추가해 마무리합니다!
728x90
'그 땐 IT활동했지 > 그 땐 영일영 근무했지' 카테고리의 다른 글
[010/API] Naver API | 블로그, 카페 글 크롤링 해오기 (0) | 2022.04.19 |
---|---|
[010/API]Kakao Map API | 로드뷰 넣기 (0) | 2022.04.18 |
[010/API] Kakao Map API | 인포윈도우 커스텀하기 (0) | 2022.04.17 |
[010/API] Kakao Map API | 통신사 카테고리 넣기 (1) | 2022.04.14 |
[010/API] Kakao Map API | 마커 커스텀하기 (0) | 2022.04.13 |