HEROKUのstagingアプリでのbasic認証を導入しましたが
We're sorry, but something went wrong.という
エラーになりアプリを開くことができません。
local環境、本番環境では問題なく開くことができます。
以下のコードを記述しました。
application_controller.rb
before_action :basic_auth, if: :staging? protect_from_forgery with: :exception private def staging? Rails.env.staging? end def basic_auth authenticate_or_request_with_http_basic do |username, password| username == ENV["BASIC_AUTH_USERNAME"] && password == ENV["BASIC_AUTH_PASSWORD"] end end
また、以下のことを実行しました。
・環境変数の設定
$heroku config:set RAILS_ENV=staging --app ステージング環境用のアプリ名
・config/environments/production.rbを同じ場所にstaging.rbという名前でコピー
・database.ymlの production: の部分をコピペして、production: を staging: に変えて保存
・Gemfileをgroup :production, :staging doに書き換え
$ heroku run rake db:migrate
の実行
stagingを指定せず、全てのアプリに対して、basic認証とすると
問題なく動作します。
なのでstagingの指定の仕方で、何か問題があるようです。
heroku logs --tail
を実行しても、エラーらしきものが見つけられません。
問題の見つけ方や解決策が分かる方がおりましたら
教えていただけないでしょうか?
あなたの回答
tips
プレビュー