Migrar senha do Drupal para o Discourse com o plugin discourse-migrate-password

  1. Instalar e Habilitar o Plugin:
    • Comece instalando o plugin Discourse Migrate Password do seguinte

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

  • Uma vez instalado, habilite o plugin nas configurações do seu Discourse. Isso permite a migração de senhas inseguras para o Discourse.

  1. Criar um Campo Personalizado:
    • Dentro do Discourse, navegue até as configurações de personalização do usuário.
    • Aqui, crie um campo personalizado chamado “import_pass”.

  1. Importar Usuários:

    • Prossiga para importar um ou múltiplos usuários para o Discourse usando seu método preferido.
    • Durante o processo de importação, certifique-se de incluir uma string hash no campo “import_pass” para cada usuário.
  2. Tentativa de Login:

    • Tente fazer login no Discourse usando uma combinação do nome de usuário importado e a string hash.
    • No entanto, você pode encontrar uma mensagem de erro afirmando “Nome de usuário e senha incorretos”.

  1. Login Padrão:
    • Como alternativa, você pode fazer login com sucesso no Discourse usando o nome de usuário e a senha associados à conta.

Por favor, compartilhe uma solução para usar este plugin no Discourse para migrar senhas do Drupal para o Discourse
@Discourse

1 curtida

Para ter suporte do Drupal para usuários importados, é necessário alterar os importadores existentes do Drupal para que preencham o campo import_pass. O importador base tem suporte para isso, então tudo o que você precisa fazer é fornecer o campo de banco de dados aplicável à estrutura que você fornece para create_users com a chave password. Por exemplo, o importador VBulletin faz isso aqui.

Para os importadores Drupal, isso está aqui e aqui.

O Passo 2 é algo que não é e nunca será exigido ou necessário. De onde você tirou isso?

Você deve habilitar o plugin APÓS a importação e deixá-lo desabilitado durante a importação.

Portanto, os passos corretos são:

  • importar usuários
  • instalar e habilitar o plugin
2 curtidas

No contexto da nossa discussão, aprecio seu valioso feedback sobre a consulta anterior. No entanto, estou interessado em explorar o tópico de como testar a funcionalidade do meu plugin para determinar se ele está funcionando corretamente. Segui as etapas de instalação conforme descrito, mas estou encontrando problemas, pois ele não parece estar respondendo. Não tenho certeza de como verificar se ele está acionando o script apropriadamente. Especificamente, gostaria de entender o processo pelo qual ele verifica se a escolha inicial de senha do usuário não está vazia ou incorreta antes de prosseguir para executar o script do plugin.

Agradeceria muito se você pudesse me fornecer mais informações sobre este assunto. Agradeço antecipadamente pela sua ajuda.

O plugin funciona substituindo o método confirm_password? da classe User.
Ele primeiro chama a verificação original da senha e não faz nada quando a senha é aceita pela lógica principal do Discourse.

Se esse não for o caso, ele verifica se o usuário tem um campo personalizado import_pass e, se tiver, usa todos os algoritmos disponíveis para verificar a senha inserida contra o hash import_pass.

Se encontrar uma correspondência, ele salva a senha inserida como a senha do usuário e permite que o usuário faça login.

3 curtidas

Criei um PR adicionando suporte para hashes do Drupal 6 migrados para o Drupal 7.

Isso pode ser um motivo pelo qual as credenciais foram consideradas inválidas, conforme descrito neste tópico.

1 curtida