No se puede iniciar sesión en la instancia dev con el usuario importado

Acabo de importar mi primer usuario desde IPB a mi Discourse local 2.0.0.beta2 y también procedí a importar las contraseñas anteriores usando discourse-migratepassword de @michaeld.

Todo parece funcionar correctamente; el usuario está en la base de datos y he verificado que la comprobación de contraseña en discourse-migratepassword tiene éxito.

Lo que no funciona es guardar el usuario después de establecer la contraseña en bruto. User.save devuelve false, hace que confirm_password? falle y genera esta salida en el registro:

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 mi primer encuentro con Ruby y Rails/ActiveRecord. Sería genial si alguien pudiera darle sentido a mi descripción :slight_smile:

¡Gracias!
—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.