Cómo crear un nuevo usuario en SQL puro

Gracias por el consejo sobre app.yml, eso sí funcionó.

Estoy probando esto:

  1. Instalé el plugin migrationpassword
  2. Activé la opción ‘Permitir que migratepassword acepte contraseñas inseguras’
  3. Creé un nuevo usuario (vía API)
  4. Agregué el hash de la contraseña en los campos personalizados
    Ejemplo: insertar en user_custom_fields (user_id, name, value, created_at, updated_at) values (2,‘import_pass’,‘2aee1c40222c7754d4534xxxxxxx’, now(), now());
  5. Intento iniciar sesión como el nuevo usuario con la contraseña del antiguo foro

Falló con ‘Nombre de usuario, correo electrónico o contraseña incorrectos’, pero estoy confundido con tu respuesta anterior: la API no me permite crear un usuario a menos que proporcione una contraseña (solo usé el hash MD5), pero dices que si hay una contraseña, prevalecerá sobre el hash MD5.

No recomendaría usar el hash md5 como contraseña, ya que se utilizará como la contraseña real. Si no necesitarás el campo de contraseña al crear un usuario, simplemente usa una cadena aleatoria larga.

Lo que intentaba decir es que Discourse primero intentará iniciar sesión en el usuario comparando la contraseña ingresada por el usuario con la contraseña almacenada. Solo cuando ese intento falle, el plugin migratepassword entrará en acción, y tratará de verificar si la contraseña proporcionada por el usuario es correcta comparándola con el campo personalizado utilizando varios algoritmos de hash alternativos integrados (md5 es uno de ellos).

Ah, lo siento, fue mi error. Puse el valor incorrecto para el hash de la contraseña en user_custom_fields. Está bien, eso lo soluciona, gracias…

… sin embargo

Aunque creé el usuario con activate true, y dice que el usuario está activado cuando lo veo desde la consola de administración, al intentar iniciar sesión dice:

No puedes iniciar sesión todavía. Anteriormente te enviamos un correo de activación a user@email.com. Por favor, sigue las instrucciones de ese correo para activar tu cuenta.

¿Por qué aparece eso? Estaba tratando de evitarlo.

Funciona para mí… ¿algún error que estés recibiendo?

Cuando intento acceder al sitio, obtengo el Error 502, y la última vez lo dejé reposar durante unas horas. Pero no he notado ningún error desde donde ejecuto el comando.

Lo siento, pero voy a cerrar esto como “por favor, no hagas eso”.

Demasiado arriesgado, y hay muchos efectos secundarios que probablemente olvidarás.