[RUBY] Bei der Installation der Standardauthentifizierung kann ich mich nicht bei Heroku anmelden.

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

Hintergrund

Ich möchte die Standardauthentifizierung einführen und die minimal erforderliche Sicherheit bieten. Ich habe es in der Vergangenheit zweimal als Praxis der Basiszertifizierung eingeführt, und zu dieser Zeit war es reibungslos, deshalb wollte ich es auch dieses Mal einführen. Als ich es tatsächlich installierte, obwohl es in der lokalen Umgebung normal funktionierte und ich mich anmelden konnte, wurde es sogar mit dem richtigen Benutzernamen und Passwort in der Produktionsumgebung abgespielt.

Was ging

Um die aktuelle Situation zu überprüfen, habe ich zunächst erneut überprüft, wie sie von git push heroku master angezeigt wird.

% git push heroku master
Everything up-to-date

Da alles auf dem neuesten Stand ist, stellte ich die Hypothese auf, dass ich mich auf github festgelegt oder einen Befehl wie git push heroku master ausgeführt hatte, bevor ich die Umgebungsvariablen festlegte. Nachdem ich ein leeres Commit gemacht hatte, dachte ich, ich müsste noch einmal Git Push Heroku Master machen, also ließ ich es laufen.

% git commit --allow-empty -m "Name festschreiben"

% git push heroku master
Aber ich konnte mich nicht einloggen.

Ursache

Die in application_controller.rb beschriebene private Beschreibung stimmte nicht mit dem Namen der auf heroku bereitgestellten Umgebungsvariablen überein.

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

===App-Name Config Vars
BASIC_AUTH_PASSWORD:      *****
BASIC_AUTH_USERNAME:      *****

Ansatz

Sie können ihn in denselben Namen ändern, sodass beide Umgebungsvariablen verknüpft sind. In diesem Fall konnte ich mich normal anmelden, wenn ich es mit USERNAME oder USER vereinheitlicht und auf Heroku erhöht habe.

Recommended Posts

Bei der Installation der Standardauthentifizierung kann ich mich nicht bei Heroku anmelden.
Einführung der Basisauthentifizierung in Heroku [Spring Framework]
So führen Sie die Standardauthentifizierung ein
Implementieren Sie die Standardauthentifizierung in Java
Rails können nicht auf dem Mac installiert werden