Keine Anmeldung bei der Dev-Instanz mit importiertem Benutzer möglich

Ich habe gerade meinen ersten Benutzer von IPB zu meinem lokalen Discourse 2.0.0.beta2 importiert und anschließend die vorherigen Passwörter mit @michaeld’s discourse-migratepassword migriert.

Alles scheint zu funktionieren: Der Benutzer ist in der Datenbank, und ich habe überprüft, dass die Passwortprüfung in discourse-migratepassword erfolgreich ist.

Was jedoch nicht funktioniert, ist das Speichern des Benutzers nach dem Setzen des Rohpassworts. User.save gibt false zurück, führt dazu, dass confirm_password? fehlschlägt, und erzeugt diese Ausgabe im Log:

I, [2018-02-01T14:31:42.198999 #58525]  INFO -- : Started POST "/session" for ::1 at 2018-02-01 14:31:42 +0100
I, [2018-02-01T14:31:42.303772 #58525]  INFO -- : Processing by SessionController#create as */*
I, [2018-02-01T14:31:42.305979 #58525]  INFO -- :   Parameters: {"login"=>"Florian", "password"=>"[FILTERED]"}
D, [2018-02-01T14:31:42.314922 #58525] DEBUG -- :   User Load (2.3ms)  SELECT  "users".* FROM "users" WHERE "users"."username_lower" = 'florian' LIMIT 1
D, [2018-02-01T14:31:42.379916 #58525] DEBUG -- :    (1.0ms)  SELECT "user_custom_fields"."name", "user_custom_fields"."value" FROM "user_custom_fields" WHERE "user_custom_fields"."user_id" = 1 ORDER BY id asc
D, [2018-02-01T14:31:42.383404 #58525] DEBUG -- :    (0.6ms)  BEGIN
D, [2018-02-01T14:31:42.400523 #58525] DEBUG -- :   UserEmail Load (2.0ms)  SELECT  "user_emails".* FROM "user_emails" WHERE "user_emails"."user_id" = 1 AND "user_emails"."primary" = 't' LIMIT 1
D, [2018-02-01T14:31:42.427949 #58525] DEBUG -- :   UserEmail Exists (2.8ms)  SELECT  1 AS one FROM "user_emails" WHERE "user_emails"."email" = 'address@domain.invalid' AND ("user_emails"."id" != 1) LIMIT 1
D, [2018-02-01T14:31:42.433311 #58525] DEBUG -- :   UserEmail Exists (1.5ms)  SELECT  1 AS one FROM "user_emails" WHERE "user_emails"."primary" = 't' AND ("user_emails"."id" != 1) AND "user_emails"."user_id" = 1 LIMIT 1
D, [2018-02-01T14:31:42.437460 #58525] DEBUG -- :    (1.1ms)  ROLLBACK
I, [2018-02-01T14:31:42.442319 #58525]  INFO -- : Completed 200 OK in 134ms (Views: 0.2ms | ActiveRecord: 25.3ms)

Es ist mein erster Kontakt mit Ruby und Rails/ActiveRecord. Es wäre toll, wenn jemand meine Beschreibung verstehen könnte :slight_smile:

Vielen Dank!
—Florian

The plugin works great, so the number one reason for login issues is usually password related:

Thanks a lot — exactly the reason why it wasn’t working!

The plugin now features the setting migratepassword_allow_insecure_passwords which enables you to work around this issue.

Thanks for adding that setting.

Ideally the plugin would prompt the user to change the password when an insecure password is detected.

Yeah, allowing the login but setting the login redirect to /my/preferences/account?needs_password_reset would probably solve the problem.