「Herokuではじめる 初心者のためのRuby on Rails3入門」を進める途中、「Herokuでステージング環境を作る – アインシュタインの電話番号」という記事に出会い、「よし、私もHerokuでステージング環境を作ってみよう!」と思い立ったことは前回の「Herokuの環境変数を確認/追加/変更/削除する方法」という記事に書きました。
今回の記事ではステージング環境にBASIC認証をかける方法をメモしておこうと思います。
(ステージング環境の作り方を最初から知りたい方は「HerokuでBASIC認証が必要なステージング環境を作る(Ruby on Rails)」へどうぞ!)
ステージング環境にBASIC認証をかけるには
application_controller.rb に
http_basic_authenticate_with name: ENV['BASIC_AUTH_USERNAME'], password: ENV['BASIC_AUTH_PASSWORD'] if Rails.env.staging?
を追記します。
私の環境だとこうなります。
class ApplicationController < ActionController::Base protect_from_forgery http_basic_authenticate_with name: ENV['BASIC_AUTH_USERNAME'], password: ENV['BASIC_AUTH_PASSWORD'] if Rails.env.staging? end
次に、前回の記事で紹介したやり方で環境変数にユーザー名とパスワードをセットします。
例えば、
heroku config:set BASIC_AUTH_USERNAME="user" BASIC_AUTH_PASSWORD="1234" --app ステージング環境にしたいアプリ名
とすれば、「ユーザー名:user パスワード:1234」と設定されます。
参考サイト
こちらの記事を拝見しました。ありがとうございました!
Railsでstaging環境だけBasic認証する | もっとクールにプログラミング
次回予告
今回は「ステージング環境にBASIC認証をかける方法」を紹介しましたが、「結局どういう手順を踏めばBASIC認証を必要とするステージング環境をHerokuに作れるのか」がこれでは分かりませんよね……。
なので、次回は「HerokuでBASIC認証が必要なステージング環境を作る(Ruby on Rails)」っていう記事を気が向いたら書こうかなと思います。
書きました!>「HerokuでBASIC認証が必要なステージング環境を作る(Ruby on Rails)」