Heroku(ユーザー認証の導入方法)
Basic認証
Basic認証とは、HTTP通信の規格に備え付けられている、ユーザー認証の仕組みのことです。
サーバーとの通信が可能なユーザーとパスワードをあらかじめ設定しておき、それに一致したユーザーのみが、Webアプリケーションを利用できるようにします。
Basic認証をRailsAppへ導入
authenticate_or_request_with_http_basicメソッド
RailsアプリケーションでBasic認証を実装するために使用する、Railsのメソッドです。
ブロックを開き、ブロック内部でusernameとpasswordを設定することでBasic認証を利用できます。
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 == 'admin' && password == '2222' end end end
localhost3000で確認
開発環境の環境変数に、ユーザー名とパスワードを設定
macOSがCatalina以降
% vim ~/.zshrc # .zshrcを開いたら、「i」とタイプしてインサートモードに移行 # .zshrcの内部に次の記述を追加 export BASIC_AUTH_USER='admin' export BASIC_AUTH_PASSWORD='2222' # 記述を追加したら、escキーを押してインサートモードを抜け、 「:wq」と入力して保存して終了する # .zshrcを再読み込みし、定義した環境変数を有効にする % source ~/.zshrc
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
localhost3000で確認
Heroku上で環境変数を設定
% heroku config:set BASIC_AUTH_USER="ユーザー名" % heroku config:set BASIC_AUTH_PASSWORD="パスワード"
configで確認
% heroku config === stormy-journey-22625 Config Vars BASIC_AUTH_PASSWORD: パスワード BASIC_AUTH_USER: ユーザー名
Herokuへデプロイ
git push heroku master
Heroku上で挙動確認