LoginSignup
0
0

More than 1 year has passed since last update.

[Rails]BASIC認証と環境変数について

Posted at

初めに

なぜこの記事を書きたかったのか

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認証?

イメージはアプリケーションに入る前にユーザーの確認をするボディーガードが間にいる感じ。
bodygaurdsample.png

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

以下が表示してあればOK
zshrcsample.png

2)"i"キーを入力して一番下の文字が"INSERT"となれば記述可能になる。
insertsample.png

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のようなコードを残すようなものを使うときは、設定完了してからプッシュをしよう!

ココまで読んでくださいましてありがとうございました!

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