Obrigado pela dica do app.yml, isso funcionou.
Ok, estou testando isso:
- Instalei o plugin migrationpassword
- Ativei a opção ‘Permitir que migratepassword aceite senhas inseguras’
- Criei um novo usuário (via API)
- Adicionei o hash da senha nos campos personalizados
Ex: insert into user_custom_fields (user_id, name, value, created_at, updated_at) values (2,‘import_pass’,‘2aee1c40222c7754d4534xxxxxxx’, now(), now()); - Tente fazer login como o novo usuário com a senha do fórum antigo
Falha com ‘Nome de usuário, e-mail ou senha incorretos’, mas estou confuso com sua resposta acima: a API não me permite criar um usuário a menos que eu forneça uma senha (eu apenas usei o hash MD5), mas você diz que, se houver uma senha, ela prevalecerá sobre o hash MD5?
Não recomendo usar o hash md5 como senha, pois ele será utilizado como a senha real. Se você não precisar do campo de senha ao criar o usuário, basta usar uma string longa e aleatória.
O que eu quis dizer é que o Discourse primeiro tentará fazer o login do usuário comparando a senha inserida por ele com a senha armazenada. Somente quando essa tentativa falhar, o plugin migratepassword entrará em ação e verificará se a senha fornecida pelo usuário está correta, comparando-a com o campo personalizado usando vários algoritmos de hash alternativos integrados (sendo o md5 um deles).
Ah, desculpe, minha culpa. Eu havia colocado o valor errado para o hash da senha em user_custom_fields. Ok, isso resolveu, obrigado…
… no entanto
Mesmo que eu tenha criado o usuário com activate = true, e ao visualizar o usuário no console de administração ele indique que está ativado, ao tentar fazer login aparece:
Você ainda não pode fazer login. Enviamos anteriormente um e-mail de ativação para você em user@email.com. Por favor, siga as instruções contidas nesse e-mail para ativar sua conta.
Por que isso acontece? Eu estava tentando evitar isso.
Funciona para mim… você está recebendo algum erro?
Quando tento acessar o site, recebo o Erro 502. Na última vez, deixei passar algumas horas.
Mas não notei nenhum erro de onde estou executando o comando.
Desculpe, mas vou encerrar isso como “por favor, não faça isso”
Muito arriscado, e há muitos efeitos colaterais que você provavelmente esquecerá.