Herokuで動かしているRailsアプリにベーシック認証を掛ける
2019/11/26
家用のRailsアプリをHerokuで動かしているが、一応認証は入れておきたいなと思ってベーシック認証を掛けた時のメモ
やり方
http_basic_authenticate_with
というメソッドが用意されているので、ApplicationControllerに記述するだけで出来る。
# app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
http_basic_authenticate_with name: 'name', password: 'password'
end
最終的には本番時のみ動作してほしいのとname
とpassword
は環境変数にしたいので以下のようになった。
# app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
http_basic_authenticate_with name: ENV['BASIC_AUTH_NAME'], password: ENV['BASIC_AUTH_PASSWORD'] if Rails.env.production?
end
Herokuの環境変数の設定方法はheroku config:add HOGE='hoge'
$ heroku config:add BASIC_AUTH_NAME='hoge'
$ heroku config:add BASIC_AUTH_PASSWORD='fuga'