1PasswordにはVS Code拡張があって、.env
ファイルなどにハードコードされたシークレットを1Passwordに保存して、secret reference というURL形式に置き換えてくれる。
ちなみにコミュニティ製のJetBrains IDE用の拡張もある。
これを使って .env.local.template
を作る。
TWITTER_CONSUMER_KEY='op://Private/Twitter/API Key/consumer_key' TWITTER_CONSUMER_SECRET='op://Private/Twitter/API Key/consumer_secret'
op://
のところがsecret reference。
.gitignore
ファイルでは .env.local
は無視しているけど、.env.local.template
はリポジトリに入れてしまう。
# .env .env.local .env.*.local
あとは、1PasswordのVS Code拡張で「Preview with secrets」すると、secret referenceが解決されたプレビューが得られるので、これを .env.local
として保存したら良い。けどちょっと面倒なので、1Password CLIでやってしまう方が便利。
$ op inject --in-file .env.local.template --out-file .env.local
1Passwordをチームで使っていると便利ですね。