LoginSignup
0
0

More than 1 year has passed since last update.

Basic 認証まとめ

Last updated at Posted at 2021-11-03

Basic 認証の設定方法と自分なりの注意点を

開発環境

ruby 2.6.5
Ruby on Rails 5.2.5
MacOS

設定方法

大きく2種類のメソッドがありそう

1, authenticate_or_request_with_http_basic メソッド


 class HogeController < ApplicationController
   before_action :basic_authenticate

   def basic_authenticate
     authenticate_or_request_with_http_basic do |name, password|
      name == ENV['BASIC_AUTH_NAME'] && password == ENV['BASIC_AUTH_PASSWORD']
     end
   end
 end

2. http_basic_authenticate_with メソッド

class ApplicationController < ActionController::Base
  http_basic_authenticate_with name: ENV['BASIC_AUTH_NAME'], password: ENV['BASIC_AUTH_PASSWORD']
end


両方とも環境変数を使ったコード

全体に認証をかけたかったら application.controller 内に記入する

以下参考にした記事

環境変数の設定方法

heroku の場合

herokuにあげているアプリのカレントディレクトリで

heroku config:set BASIC_AUTH_NAME="(各自で入力)"
heroku config:set BASIC_AUTH_PASSWORD="(各自で入力)"
heroku config で確認

以下参考にした記事

local の場合

1, 'dotenv-rails' を使って設定する

上記のテキストの通り

2, ターミナルからマシンに直接設定する(Mac)

ターミナル上のどこかで

export BASIC_AUTH_NAME= ”(各自で入力)”
export BASIC_AUTH_PASSWORD=”(各自で入力)”

printenv をすると自分設定した環境変数を確認出来る

注意点

Basic 認証はキャッシュが残っていると効かないので、2回目以降の確認の際にはキャッシュの削除が必要
ブラウザのキャッシュを消しても heroku のキャッシュは消えない

この点は何回かやってみたのですが、
何回やっても heroku 上での2回目以降の認証ができませんでした。

マシン上に環境変数を追加しても時間が立つと消える

本来は ~/.zshrc (もしくは ~/.bash_profile)に書き込むようです。

マシン上に環境変数を設定するときには下手に上書きしないように気をつける

dotenv でやるほうがいいとおもいます

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