m_shige1979のときどきITブログ

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

Github(変なおっさんの顔でるので気をつけてね)

https://github.com/mshige1979

Herokuで環境変数を指定

まあ、どうみても間抜け

app.confにパスワードとか設定したらパスワードとかを見られる可能性があるので環境変数を指定する

gitファイルに設定ファイルを配置してしまうので変更

app.psgi環境変数を読み込むように変更
# 設定ファイルを読み込み
my $config = plugin('Config', {file => 'app.conf'});

## Twitterのモジュール設定
my $nt = Net::Twitter->new(
    traits => [qw/API::RESTv1_1/],
    consumer_key => $ENV{'TW_CONSUMER_KEY'},
    consumer_secret => $ENV{'TW_CONSUMER_SECRET'},
);

# なんかよくわからんけどクッキーのセキュアにするとかなんとか
app->secret($ENV{'MOJO_COOKIE_SECRET'});

環境変数を設定
export MOJO_COOKIE_SECRET="xxxxxxxxxxxxxxxxxxxxxxx"
export TW_CONSUMER_KEY="yyyyyyyyyyyyyyyyyyyyy"
export TW_CONSUMER_SECRET="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
Heroku側にも対応してデプロイする
heroku config:set MOJO_COOKIE_SECRET="xxxxxxxxxxxxxxxxxxxxxxx"
heroku config:set TW_CONSUMER_KEY="yyyyyyyyyyyyyyyyyyyyy"
heroku config:set TW_CONSUMER_SECRET="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"

まとめ

Paasとかでパスワードなどを使用する場合は、環境変数をチェックする必要があるので気をつける必要がある
あとは常に可変するものを制御するのも必要かも