Preciso implementar alterações personalizadas em nível de código e banco de dados em minha aplicação Discourse Rails para atender aos meus requisitos específicos.
Atualize o método de criptografia de senha. Atualmente, o Discourse usa “PBKDF2” para criptografia de senha.
De acordo com meu requisito, preciso mudar para “MD5” em vez de “PBKDF2”.
Configurei o código em meu ambiente local e também implantei o discourse no ambiente de produção usando Docker.
Quando atualizo o código local com base em meu requisito, preciso reimplantar meu código atualizado no ambiente de produção, mas atualmente tenho o arquivo docker oficial do discourse configurado no ambiente de produção, então preciso gerar um novo arquivo docker. Como posso criar um novo arquivo docker e como acessar o banco de dados PostgreSQL do aplicativo discourse no ambiente de produção?
Isso parece ser um rebaixamento de segurança significativo. MD5 é inadequado para hashing de senhas. Essa mudança não só afetaria uma parte crítica do Discourse, mas você também precisaria mantê-la para todas as futuras versões.
Talvez possamos sugerir uma abordagem melhor se você puder explicar o que está tentando alcançar.
Você quer fazer suas alterações em um plugin. Se você quiser fazer um fork do Discourse e tentar mantê-lo separadamente, você vai se arrepender muito, muito, se a história for um indicador.
Que problema você está tentando resolver com senhas armazenadas como um hash MD5? Como já foi sugerido, a internet inteira parece concordar que MD5 não é criptografia e não é adequado para armazenar senhas.
Preciso de ajuda para encontrar uma solução. Preciso alterar um método de criptografia no ROR (Discourse). Atualmente, estou usando criptografia MD5. Fiz alterações no nível do código em meu ambiente local. Como posso refletir essas alterações no servidor ativo sem a ajuda do Docker?
Atualmente, o ambiente de produção está configurado usando a configuração do Docker.
Você ainda não disse qual problema está tentando resolver. Você pode falar mais sobre o que o MD5 está resolvendo?
Você ainda precisa implementar quaisquer alterações que fizer em um plugin. Você começou a aprender como os plugins funcionam?
Mas aposto que o que você realmente quer é que o Discourse se autentique em seu aplicativo existente, caso você precise apenas implementar o discourse_connect e o Discourse não precisará saber sobre suas escolhas de armazenamento de senha.