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?
¡Dios mío! Tras más pruebas, resultó que en realidad funcionaba. El problema fue que cambié la contraseña cuando lo probé . ¡Lo siento! ¡Gracias por el excelente plugin! ¡Me ha facilitado mucho la vida!
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.
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.
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í.
¿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.
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?
Técnicamente, un usuario no está “utilizando” el hash de contraseña heredado.
Cuando un usuario inicia sesión por primera vez después de una migración y la contraseña no coincide con la contraseña de Discourse (que inicialmente será una cadena aleatoria de caracteres), el plugin realiza su función.
Verifica si la contraseña ingresada coincide con el campo personalizado import_pass utilizando todos los métodos de hash que conoce.
Si encuentra una coincidencia, guarda la contraseña del usuario y luego elimina el campo personalizado import_pass.
Por lo tanto, después de unos pocos años, solo los usuarios que no “utilizaron” la contraseña migrada para iniciar sesión todavía tendrán un campo personalizado import_pass.
a) Nunca iniciaron sesión (puedes verificarlo con la fecha de última visita).
b) No utilizaron la contraseña migrada, sino que iniciaron sesión mediante correo electrónico, un método de autenticación diferente, o han restablecido su contraseña.
Acabo de darme cuenta de que la situación b puede introducir un problema de seguridad. Si un usuario no recuerda su contraseña y la cambia, o si utiliza otro método de autenticación, el hash de contraseña migrado seguirá allí y aún podrá usarse junto con la nueva contraseña. Acabo de publicar una actualización del plugin para que limpie el campo personalizado import_pass en cada inicio de sesión exitoso.
Por lo tanto, a partir de ahora, el campo personalizado import_pass solo estará presente en los usuarios que nunca hayan iniciado sesión.