LoginSignup
0
0

More than 3 years have passed since last update.

Basic認証の導入の仕方

Last updated at Posted at 2020-10-04

【概要】

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 をした際にすぐに反映されます!

app/controller/application_controller

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0