この記事の対象
Herokuでデプロイするアプリのコードを自分のGithubリポジトリにもあげたが、アクセストークン(token)の直書きによって怒られてしまった人
まえがき
外部APIを使う際など、Secret TokenやAccess Tokenを要求される場面があると思います。これをコード中に直書きしてしまうとgithubのpublicリポジトリに上げてしまった場合や、なんらかの理由でソースコードを第三者に見られた場合に不正なアクセスをされてしまう可能性があります。
良くないトークン使用例
BAD_TOKEN = 'hogehogefugafuga'
def getHoge():
hoge = Hoge.access(BAD_TOKEN)
return hoge
対応策
herokuにログインしたターミナルから以下のように入力してください。
構文
Prgckwb:~/python % heroku config:set トークン名="トークンの中身" --app app名
今、sample-app
というアプリで使うトークンhogehogefugafuga
を名前GOOD_ACCESS_TOKEN
として保存してコード内で使うためには、
トークンの保存
Prgckwb:~/python % heroku config:set GOOD_ACCESS_TOKEN="hogehogefugafuga" --app sample-app
として、例えばコード内で以下のように使います。
良いトークン使用例
import os
ACCESS_TOKEN = os.environ["GOOD_ACCESS_TOKEN"]
def getHoge():
hoge = Hoge.access(ACCESS_TOKEN)
return hoge
このようにすれば、コード中にトークンの中身が現れないので第三者にトークンが漏洩する可能性を低くすることができます。