GitHubにパスワード等をアップロードしない設定
はじめに
さて、GitHubがスタートアップや個人開発者に対して無料で利用できるサービスを提供するようになったことで、プログラミングの初心者や日曜大工的なアプローチを取る人々が履歴管理やリポジトリを作成し、コードを共有・管理することができるようになった。いまは、パブリックリポジトリは少ないのだけれど、そのうち公開するかもしれないので、機密情報をアップロードしない設定を忘れないように残しておこうと思う。
一時期、Raspberry Piに載せたセンサーが収集するデータをデータベースに収集し、そのデータをグラフ化してTwitterに毎朝8時にアップロードしてたりした。イーロン・マスクに買収されXになったりしてこの仕組みがうまく動かなくなったので、今は動かしていないがこのコードを書いたときに機密情報をアップロードしない仕組みにしていたので、参考にする。
パスワードを記述したファイルを無視する
無視するには.gitignoreにファイル名を記述する。この場合、jsonファイルに機密情報を記述しているので、.gitignoreに以下の様に記述した。また、不要な一時ファイルや生成した画像ファイルなども記入している。
1 2 3 4 |
tweeter_token.json error.txt img.png .python-version |
jsonファイルの内容
jsonファイルには次のように機密情報を記載した。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
{ "Authentication_Tokens":{ "access_token": "XXXXXXXXX", "access_token_secret": "XXXXXXXXX", "bearer_token": "XXXXXXXXX" }, "Consumer_Keys":{ "api_key": "XXXXXXXX", "api_key_secret": "XXXXXXXX" }, "Database":{ "User": "XXXXXX", "password": "XXXXXX", "Address": "XXXXXX", "Table": "XXXXXX" } } |
jsonファイルから必用な情報の取得
実際にファイルから必用な情報を入手
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import tweepy import json json_file = open('/home/kimio/Documents/Tweet/tweeter_token.json', 'r') access_db = json.load(json_file) #Authentication Tokens AT = access_token = access_db["Authentication_Tokens"]["access_token"] ATS = access_token_secret = access_db["Authentication_Tokens"]["access_token_secret"] bearer_token = access_db["Authentication_Tokens"]["bearer_token"] #Consumer Keys CK = api_key = access_db["Consumer_Keys"]["api_key"] CKS = api_key_secret = access_db["Consumer_Keys"]["api_key_secret"] # mariadbへのアクセス用 db_id = access_db["Database"]["User"] db_pass = access_db["Database"]["password"] db_addr = access_db["Database"]["Address"] db_tbl = access_db["Database"]["table"] # Twitterへのアクセス auth = tweepy.OAuthHandler(CK, CKS) auth.set_access_token(AT, ATS) api = tweepy.API(auth) |
これで、うまく動いていたんだけどね。今はお金払わないとできないのかな?