5
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Herokuで使うPythonのコード内にアクセストークンを直書きするのはやめよう

Last updated at Posted at 2021-07-17

この記事の対象

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

このようにすれば、コード中にトークンの中身が現れないので第三者にトークンが漏洩する可能性を低くすることができます。

5
10
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?