Je souhaite introduire l'authentification de base et fournir la sécurité minimale nécessaire. Je l'ai introduit deux fois dans le passé en tant que pratique de la certification de base, et à ce moment-là, c'était facile, alors je voulais l'introduire cette fois également. Cependant, lorsque je l'ai installé, même si cela fonctionnait normalement dans l'environnement local et que je pouvais me connecter, il était joué même avec le nom d'utilisateur et le mot de passe corrects dans l'environnement de production.
Tout d'abord, pour vérifier la situation actuelle, j'ai vérifié à nouveau comment elle serait affichée par git push heroku master.
% git push heroku master
Everything up-to-date
Puisque tout est à jour, j'ai émis l'hypothèse que j'avais commis sur github ou exécuté une commande telle que git push heroku master avant de définir les variables d'environnement. Après avoir fait un commit vide, j'ai pensé que je devais refaire git push heroku master, alors je l'ai lancé.
% git commit --allow-empty -m "Nom de validation"
% git push heroku master
La description en privé décrite dans application_controller.rb ne correspondait pas au nom de la variable d'environnement fournie sur 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
===Nom de l'application Config Vars
BASIC_AUTH_PASSWORD: *****
BASIC_AUTH_USERNAME: *****
Vous pouvez le remplacer par le même nom afin que les deux variables d'environnement soient liées. Dans ce cas, si je l'ai unifié à USERNAME ou USER et que je l'ai élevé à Heroku, j'ai pu me connecter normalement.
Recommended Posts