前提
Ruby2.6.5
Rails6.0.0
macOSはCatalina以降
本番環境はHeroku
導入方法
開発環境
①開発環境の環境変数にユーザー名とパスワードを設定する
ターミナル
% vim ~/.zshrc
# 「i」とタイプすることでインサートモードへ移行
# 元々の記述の下に以下を追記
export BASIC_AUTH_USER='ログイン名'
export BASIC_AUTH_PASSWORD='パスワード'
※ログイン名・パスワードは各自考えたものを入力
② application_controller.rbに記述
app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
before_action :basic_auth
private
def basic_auth
authenticate_or_request_with_http_basic do |username, password|
username == ENV["BASIC_AUTH_USER"] && password == ENV["BASIC_AUTH_PASSWORD"]
end
end
end
本番環境
①Herokuで環境変数を設定
ターミナル
% heroku config:set BASIC_AUTH_USER="ログイン名"
% heroku config:set BASIC_AUTH_PASSWORD="パスワード"
以下コマンドで設定できているか確認できます。
ターミナル
% heroku config
②変更したコードのHerokuへのデプロイ
ターミナル
% git add .
% git commit -m "Basic認証を導入"
% git push heroku master