1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Basic認証導入時、Heroku上でログインができない。

Last updated at Posted at 2020-11-04

スクリーンショット 2020-11-04 17.42.50.png

背景

Basic認証を導入して、必要最低限のセキュリティを設けたい。
過去に2度Basic認証の練習として導入したことがあり、その時はスムーズにできたため、今回も導入したいと考えた。
しかし、実際に導入してみると、ローカル環境では正常に動作しログインできるものの、本番環境では正しいユーザー名とパスワードでも弾かれてしまった。

行ったこと

まず、現状を確認するため、もう一度git push heroku masterでどう表示されるかを確認した。

% git push heroku master
Everything up-to-date

全て最新の状態であることから環境変数を設定する前に、github上でコミットしてしまったり、git push heroku masterなどのコマンドを実行したと仮説を立てた。空のコミットをしてから、再度git push heroku masterをする必要があると考え、実行した。

% git commit --allow-empty -m "コミット名"

% git push heroku master

######しかし、ログインできませんでした。

#原因
application_controller.rbに記述している、private内の記述と、heroku上に設けた環境変数の名前が一致していなかった。

app/controllers/application_controller.rb
  def basic_auth
    authenticate_or_request_with_http_basic do |username, password|
      username == ENV["BASIC_AUTH_USER"] && password == ENV["BASIC_AUTH_PASSWORD"]
    end
  end
% heroku config

=== アプリ名 Config Vars
BASIC_AUTH_PASSWORD:      *****
BASIC_AUTH_USERNAME:      *****

#対処法
双方の環境変数が紐付くように、同じ名前に変えてあげれば良い。
今回の場合はUSERNAMEかUSERに統一させてHerokuに上げれば、正常にログインできました。

1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?