Migración de contraseña de Drupal a Discourse con el plugin discourse-migrate-password

  1. Instalar y habilitar el plugin:
    • Comience instalando el plugin Discourse Migrate Password desde el siguiente

Plugin Discourse Migrate Password
enlace:
(discourse-migratepassword/plugin.rb at master · communiteq/discourse-migratepassword · GitHub).

  • Una vez instalado, habilite el plugin dentro de la configuración de su Discourse. Esto permite la migración de contraseñas inseguras a Discourse.

  1. Crear un campo personalizado:
  • Dentro de Discourse, navegue a la configuración de personalización de usuarios.
  • Aquí, cree un campo personalizado llamado “import_pass”.

  1. Importar usuarios:
  • Proceda a importar uno o varios usuarios a Discourse utilizando su método preferido.
  • Durante el proceso de importación, asegúrese de incluir una cadena hash en el campo “import_pass” para cada usuario.
  1. Intento de inicio de sesión:
  • Intente iniciar sesión en Discourse utilizando una combinación del nombre de usuario importado y la cadena hash.
  • Sin embargo, es posible que reciba un mensaje de error que dice “Nombre de usuario y contraseña incorrectos”.

  1. Inicio de sesión estándar:
  • Como alternativa, puede iniciar sesión en Discourse con éxito utilizando el nombre de usuario y la contraseña asociados con la cuenta.

Por favor, compárteme una solución para usar este plugin en Discourse para migrar contraseñas de Drupal a Discourse
@Discourse

1 me gusta

Para tener soporte de Drupal para usuarios importados, es necesario modificar los importadores de Drupal existentes para que completen el campo import_pass. El importador base tiene soporte para esto, por lo que todo lo que necesitas hacer es alimentar el campo de base de datos aplicable en la estructura que alimentas a create_users con la clave password. Por ejemplo, el importador de VBulletin lo hace aquí.

Para los importadores de Drupal, eso es aquí y aquí.

El paso 2 es algo que no es y nunca será requerido o necesario. ¿De dónde sacaste eso?

Debes habilitar el plugin DESPUÉS de la importación y dejarlo deshabilitado durante la importación.

Por lo tanto, los pasos correctos son:

  • importar usuarios
  • instalar y habilitar el plugin
2 Me gusta

En el contexto de nuestra discusión, aprecio tus valiosos comentarios sobre la consulta anterior. Sin embargo, estoy interesado en explorar el tema de cómo probar la funcionalidad de mi plugin para determinar si está funcionando correctamente. He seguido los pasos de instalación descritos, pero estoy encontrando problemas ya que no parece responder. No estoy seguro de cómo verificar si está activando el script apropiadamente. Específicamente, me gustaría entender el proceso mediante el cual verifica si la elección inicial de contraseña del usuario no está vacía o es incorrecta antes de proceder a ejecutar el script del plugin.

Agradecería enormemente si pudieras brindarme más información sobre este asunto. Gracias de antemano por tu ayuda.

El plugin funciona sobrescribiendo el método confirm_password? de la clase User.
Primero llama a la verificación de contraseña original y no hace nada cuando la contraseña es aceptada por la lógica principal de Discourse.

Si ese no es el caso, verifica si el usuario tiene un campo personalizado import_pass y, de ser así, utiliza todos los algoritmos disponibles para verificar la contraseña ingresada contra el hash import_pass.

Si encuentra una coincidencia, guarda la contraseña ingresada como la contraseña del usuario y permite que el usuario inicie sesión.

3 Me gusta

He creado una PR añadiendo soporte para hashes de Drupal 6 migrados a Drupal 7.

Esto podría ser la razón por la que las credenciales se consideraron inválidas como se describe en este tema.

1 me gusta