初めに
なぜこの記事を書きたかったのか
RailsのBasicを固めたいから![コントローラー編]
設定したパスワードを忘れてアプリケーションを開けない状況に。。。パソコンのどこかに置いた記憶はあるけど確認方法を忘れてしまったので今後またこの事件が起きたときメモを残したかった!
環境
・Macbook Air (Retina, 13-inch,2019)
・プロセッサ 1.6GHz デュアルコアIntel Core i5
・メモリ 8GB 2133 Mhz LPDDR3
・MacOS Big Sur バージョン 11.5.2
記事の目次
1)What is BASIC認証?
2)BASIC認証の使い方
3)鍵を隠す方法
4)最後に
What is BASIC認証?
イメージはアプリケーションに入る前にユーザーの確認をするボディーガードが間にいる感じ。
BASIC認証の使い方
authenticate_or_request_with_http_basicメソッドをつかう!
1)application_controllerへ行き、before_actionを使って変数を設定する(今回はbasic_authにしてみる)
before_action :basic_auth
2)privateの後に、先程設定したbasic_authのルールを設定する
private
def basic_auth
end
3)上記のメソッドを使う
private
def basic_auth
authenticate_or_request_with_http_basic do |username, password|
username == 'anijan' && password == '1234'
end
end
end
doの後の||内に鍵の種類を書く。
次に各鍵の中身を設定してendで閉じる。
4)ターミナルを使ってアプリケーションにアクセスすると、before_actionが作動して先程設定したパスと名前を記述しなければアプリケーション内へ移動することができない!
rails s
鍵を隠す方法
なぜ隠す必要があるのか?それは、コード内を見られたら誰にでもアプリ内に入られてしまうから!(例えば、アプリケーション作成時にgithubを利用している場合、コミットされたコードはすべてウェブ上に保存されたままになる。。見られる!)
1)ターミナルを開いてサーバー上のテキストエディターを使用する
vim ~/.zshrc
2)"i"キーを入力して一番下の文字が"INSERT"となれば記述可能になる。
3)先程書いた鍵の中身を上から順に記述する(マウス移動はできません)
※もし、zsh内に記述がある場合、その記述の下に追加しよう!あったものを削除してしまうとパソコンが正常に動かないときがあるので気をつけよう
export BASIC_AUTH_USER='anijan'
export BASIC_AUTH_PASSWORD='1234'
4)鍵を追加し終わったら、パソコン(macの場合)の一番左上の"esc"ボタンをタップしてから、":wq"と入力したら
、"enter"キーを押して終了させます
5)ターミナルでsourceコマンドをして実行させる
source ~/.zshrc
LAST)先程、application_controllerにて記述した鍵の中身を消して、鍵の場所を定義しよう!
すぐ確認がしたい場合は、”シークレットウィンドウ"に切り替えてlocalhostで確認しよう!
before_action :basic_auth
private
def basic_auth
authenticate_pr_request_with_http_basic do |username, password|
username == ENV["BASIC_AUTH_USER"] && password == ENV["BASIC_AUTH_PASSWORD"]
end
end
end
これでコードを見てパスワード等を確認する方法はなくなって安全!
最後に
環境変数の設定をするときgithubのようなコードを残すようなものを使うときは、設定完了してからプッシュをしよう!
ココまで読んでくださいましてありがとうございました!