【概要】
1.結論
2.Basic認証とは
3.Basic認証の導入方法
4.開発環境
1.結論
authenticate_or_request_with_http_basicメソッドで、環境変数を設定し、vim ~/.zshrcで設定した後に、再度ターミナルで環境変数を設定する!
2.Basic認証とは
HTTP通信規格にもともとある、ユーザー認証(IDとパスワードを入力)のことです。デプロイすると全員が見ることができるのでユーザー名/パスワードを知っている人しか見れないようにします!
3.Basic認証の導入方法
❶authenticate_or_request_with_http_basicメソッド(Railsのメソッドです)を使用し、username/passwordを設定します。before_actionで事前に行うようにしています。環境変数なので"@@@@""〜〜〜〜"(一緒の名称の意味を避けるために@@@@と〜〜〜〜に分けています)はユーザー名/パスワードの中身ではなく中身を入れるための名前をつけます。動作を確認したい場合は"@@@@"の部分に名称ではなく中身の好きな数字文字を入れるとrails s をした際にすぐに反映されます!
before_action:basic
def basic
authenticate_or_request_with_http_basic do |username, password|
username == ENV["@@@@"] && password == ENV["~~~~"]
end
end
❷ターミナルで"vim ~/.zshrc"を入力した後に、❶でつけた名称を元にユーザー名/パスワードの中身を入力していきます。❶で中身を書いてしまうとGithubでユーザー名/パスワードを晒してしまうのでこの知識がある人にパスワードを公表していることになります。"****""XXXX"は一緒のものにしないようの便宜上、分けています。
#macOS Catalinaの場合
$ vim ~/.zshrc
#半角英数で「i」を押してインサートモードへ
$ export @@@@='****' #"@@@@"は❶で設定したもの"****"は好きなユーザー名
$ export ~~~~='XXXX' #"@@@@"は❶で設定したもの"XXXX"は好きなパスワード名
#半角英数で「:wq」を押して終了
$source ~/.zshrc
#これをしないと反映されません。
❸デプロイする場合もデブロイ先に環境変数設定します。今回はHerokuになります。$ heoku config で設定できているか確認できます。
% heroku config:set @@@@="****"
% heroku config:set ~~~~="XXXX"
#herokuへの環境変数設定完了
#あとはgithubにコミットします。そのあとでコマンドでherokuへプッシュします。
% git push heroku master
4.開発環境
macOS Catalina 10.15.4
Ruby 2.6.5
Rails 6.0.3.3
Visual Studio Code 1.49.2