Basic 인증 도입시, Heroku상에서 로그인을 할 수 없다.

배경
Basic 인증을 도입하여 필요 최소한의 보안을 마련하고 싶다.
과거에 두 번 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에 올리면 정상적으로 로그인할 수 있었습니다.
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(Basic 인증 도입시, Heroku상에서 로그인을 할 수 없다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/NedzumiNeko/items/daeda0f00c9c537bd5ce
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
  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에 올리면 정상적으로 로그인할 수 있었습니다.
Reference
이 문제에 관하여(Basic 인증 도입시, Heroku상에서 로그인을 할 수 없다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/NedzumiNeko/items/daeda0f00c9c537bd5ce텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)