Docker上のRailsでcredentialsを設定し、APIを利用する
Docker上のRailsでYoutube Data API v3を使う流れ
- APIキーを取得し, OAuth2.0認証を経由してGoogle APIにアクセスする
- APIキーをRailsアプリに取り入れる
- credentialsに設定した環境変数の呼び出し方
- credentials.yml.encに設定したAPIキーを使って、APIを叩く!!
- 埋め込んだ動画サムネイルiframeをレスポンシブ 対応
APIキーをRailsアプリに取り入れる
秘密鍵管理にcredentials.yml.encを使う(Rails =>5.1)
これは通常のファイルの開き方だと、読み取り専用モードになってしまうので、以下のようにrailsで使えるcredentialsコマンドを使い編集する
# 注意: Dockerではこれだと動かない(vimを入れてない) $ EDITOR=vim bin/rails credentials:edit
今回の Docker上のRailsには、vimが入っていないので
Dockerfile内にvimのインストールを追記する。
エディタはvimじゃなくてもいいけど、vimで編集したい!!(好み)
# Docker上のRailsでcredentials.yml.encを編集 $ docker-compose run -e EDITOR="vim" web rails credentials:edit
credentialsに設定した環境変数の呼び出し方
以下のようにcredentials.yml.encに設定した場合hoge: fuga aws: access_key_id: 123 secret_access_key: 345
次のようにして環境変数を呼び出す
Rails.application.credentials.hoge # => "fuga" Rails.application.credentials.aws # => {:access_key_id=>123, :secret_access_key=>345} Rails.application.credentials.aws[:access_key_id] # => 123
deviseを使っているアプリケーションで環境変数を設定している場合のことも含め上記の情報は次の記事の転載
qiita.com
www.slideshare.net