Heroku - 디스코드 봇 토큰 정보 보호하기 (숨기기)

Heroku 앱의 코드에서 설정은 외부로

만약 깃헙 등에 디스코드 봇 등의 앱을 작성해서 커밋했다면 꼭 체크해야할 사항이 있다.

  1. public으로 노출했는가? (다른 사람들이 다 본다는 뜻)
  2. 혹시 app token 정보를 그대로 노출했나? (다른 사람들이 도용할 수 있다는 뜻)

비밀번호는 외부에 노출되지 않도록 해야 하므로, 토큰 정보도 노출되지 않도록 조치를 해야 한다.

 

토큰을 Heroku 외부 설정으로 빼놓기

heroku config 변수

Heroku 대쉬보드의 Settings 메뉴로부터 Config Vars 섹션에 본인이 원하는 설정 값을 선언할 수 있다.

위의 스크린샷의 예는, BOT_TOKEN이라고 선언하고 그에 해당하는 값을 지정한 것이다. 여러 개의 변수를 상황에 맞게 선언하고 사용하면 된다.

 

반응형

 

외부 환경변수로부터 토큰을 사용하도록 코드 변경하기

앞서 작성한 코드로부터, 디스코드 봇을 실행시킬 때 디스코드 토큰을 파라미터로 선언한 부분이 있었다.

bot.run(TOKEN)

이 TOKEN의 변수에 예전에는 직접 디스코드 봇용 토큰을 써줬다면, 이제 이 변수에 Heroku의 Config을 주입해주면 된다.

코드상 TOKEN값을 얻어오는 부분은 아래와 같이 적어주자.

TOKEN = os.environ.get('BOT_TOKEN')

외부 환경변수로부터 BOT_TOKEN 값을 찾아서 넣어준다.

Heroku 실행환경에서는 저 변수를 외부에서 찾아서 동작하게 해준다는 뜻이므로, 만약 저 코드를 로컬 환경에서도 동일하게 쓰고자 한다면 로컬 환경에서도 마찬가지로 BOT_TOKEN을 환경변수로 선언해 주거나, IDE의 런타임 변수로 지정해주면 동일한 효과를 낼 수 있다.

 

더 보기

 

12요소 (twelve factors) 애플리케이션

개요 본 포스트에서는 Heroku 플랫폼을 통해 소개된 개념인 12-Factor 애플리케이션 요소에 대해 정리한다. SaaS(Software As A Service) 개발 방법론 관점에서 고안해 낸 개념인데, 어떤 애플리케이션이 Clou

luran.me

 

Heroku - 디스코드 봇 무료 호스팅 준비하기

Heroku를 사용하여 디스코드 봇 무료 호스팅 준비하기 만약 디스코드 봇을 개발했다면, 어디에 띄워둬야 실제 봇으로서 제대로 동작할까? 물론 내 PC에서 봇을 띄워놓고, 24시간 365일 운영해도 된

luran.me

 

Heroku - 파이썬 디스코드 봇 프로젝트 연동하기 (깃헙기반)

Heorku에 파이썬 디스코드 봇 연동하기 (깃헙기반) 앞서 Heroku의 기본 설정을 진행했다면, 이제는 실제 디스코드 봇을 연동해볼 차례이다. Heroku CLI를 사용하거나, 깃헙 연동을 하면 되는데 이 포스

luran.me

 

Heroku - 실행중인 디스코드 봇의 로그를 보려면?

Herok에서 실행 중인 디스코드 봇의 로그를 확인하려면? 예를 들어, Heroku에 디스코드 봇을 띄웠는데 정상적으로 동작하지 않는다. 이런 경우, 로그를 확인해야 문제를 쉽게 해결할 수 있을 것이다

luran.me

 

댓글

Designed by JB FACTORY