Migrated password hashes support

Gracias @pfaffman

He realizado algunas pruebas y puedo confirmar que no funciona con Drupal 7, que aparentemente utiliza SHA-512 según Drupal 7: Secure password storage by default at last | Jon Cave

Crearé una PR si logro agregar una compatible.

Rich

3 Me gusta

¡Hola :waving_hand:

He migrado un montón de contenido desde bbPress a mi instalación de Discourse. Puedo ver todos los mensajes, usuarios y demás. Pero mis usuarios no pueden iniciar sesión con sus “antiguos” datos de contraseña de mi sitio de WordPress. He instalado el plugin y aparece listado en la sección de plugins de mi área de administración. He marcado todas las casillas disponibles.

Sin embargo: ¡nadie puede iniciar sesión!
Tampoco tengo ni idea de dónde aplicar el código proporcionado en el archivo README del plugin:

user = User.find_by(username: 'user')
user.custom_fields['import_pass'] = '5f4dcc3b5aa765d61d8327deb882cf99'
user.save

Además, no tengo ni idea de qué se entiende exactamente por “hashes de contraseña alternativos” mencionados en el README.

@michaeld, ¿podrías darnos más orientación sobre cómo usar el plugin?

Por lo que recuerdo, el importador de bbPress es compatible con el plugin, así que lo hiciste todo bien y eso es todo lo que necesitas hacer.

1 me gusta

¡Dios mío! Tras más pruebas, resultó que en realidad funcionaba. El problema fue que cambié la contraseña cuando lo probé :man_facepalming:. ¡Lo siento! ¡Gracias por el excelente plugin! ¡Me ha facilitado mucho la vida!

2 Me gusta

Hola, tengo problemas para que esto funcione. He creado un campo personalizado llamado import_pass e instalado el plugin. Ejecuté el script de importación una vez más en mi base de datos de SMF, pero sin éxito; nadie puede iniciar sesión después. En el campo personalizado solo veo un «-» en lugar de algún hash.

Como otros usuarios han señalado antes, no estoy seguro de qué hacer con esto:

user = User.find_by(username: 'user')
user.custom_fields['import_pass'] = '5f4dcc3b5aa765d61d8327deb882cf99'
user.save

Agradezco cualquier orientación. ¿Este código va en el archivo del script de importación smf2.rb o qué?

Eso no funcionará. Pero no es necesario instalar el plugin durante la importación ni crear un campo personalizado manualmente. Eso ya debería ser manejado por el script de SMF2. Así que hay algo más ocurriendo.

El código está allí como un ejemplo para los autores de scripts. Ya está incluido en el script de SMF2.

3 Me gusta

Gracias. Eso es genial. ¿Quieres decir que, si elimino el campo personalizado creado manualmente y simplemente mantengo el plugin activado, debería funcionar por sí solo y capturar los hashes de contraseña cuando sea necesario?

¿Existe algún registro que podamos revisar para ver por qué el plugin no está haciendo lo que se supone que debe hacer?

El plugin se encarga de interpretar y utilizar los campos personalizados que ha establecido el importador. Si los campos personalizados están vacíos o no existen, entonces no es un problema del plugin, sino un problema del importador.

2 Me gusta

¿Debería instalarse el plugin antes o después de la migración? ¿O no cambia nada?

TL;DR: después.

Debes instalar el plugin en la instancia que realmente está ejecutando el foro migrado.

Hemos visto casos en los que el plugin causó problemas cuando se instaló en una instancia que en realidad estaba ejecutando el script de migración, por lo que recomendamos no instalarlo allí.

4 Me gusta

Hola,

¿Alguien ha probado con hashes de contraseñas de Auth0?

No puedo probarlo directamente, ya que la exportación de hashes de contraseñas es un servicio de pago para clientes. Solo quería saber si alguien lo ha intentado antes de que yo siga este camino.

Parece que sus contraseñas están hashadas con bcrypt y 10 rondas de sal.

Gracias.

2 Me gusta

Hola, ¿ha cambiado algo en cuanto al soporte de Drupal 7?

¡Vaya, pregunta de hace 2 años que me perdí!

bcrypt debería ser compatible independientemente del número de rondas, siempre que las rondas estén codificadas de la manera habitual ($2a$10$...)

No, ese código no se ha tocado en más de 3 años.

1 me gusta

Hemos migrado un foro a Discourse hace varios años utilizando el plugin migratepassword. ¿Existe alguna forma de verificar cuántos de nuestros usuarios aún están utilizando las contraseñas heredadas de nuestro antiguo foro?