Files
PDI-MAKER/SOLUCAO-LOGIN-ADMIN.md
Sergio Correa 45f819b95d fix: Corrige sistema de recuperação de senha (Esqueci minha senha)
- Corrige nomes de colunas SQL (expires_at -> expiresAt)
- Link de reset agora aparece na tela
- Adiciona documentação de solução
- Sistema totalmente funcional
2025-11-21 14:29:20 +00:00

3.2 KiB

🔐 Solução: Problema de Login Admin e "Esqueci Minha Senha"

📋 Problemas Encontrados

  1. Senha do admin não funcionava
  2. Recurso "Esqueci minha senha" não funcionava

🔧 Soluções Aplicadas

1. Reset da Senha do Admin

Credenciais atualizadas:

  • Email: scorrea69@gmail.com
  • Senha: Admin@2024

Como resetar senha no futuro:

cd /var/www/pdimaker
./reset-password.sh EMAIL_DO_USUARIO NOVA_SENHA

Exemplo:

./reset-password.sh scorrea69@gmail.com MinhaNovaSenh@123

2. Correção do "Esqueci Minha Senha"

Problemas corrigidos:

  1. Nomes de colunas SQL incorretos:

    • O código usava expires_at (snake_case)
    • O banco usa expiresAt (camelCase)
    • Solução: Corrigidos os nomes das colunas no SQL
  2. Link não era exibido:

    • O link só aparecia em modo desenvolvimento
    • Como não há email configurado, os usuários não recebiam o link
    • Solução: Link agora sempre é exibido na tela após solicitar reset

Arquivos modificados:

  • /var/www/pdimaker/frontend/app/api/auth/forgot-password/route.ts
  • /var/www/pdimaker/frontend/app/api/auth/reset-password/route.ts

Como Usar o "Esqueci Minha Senha" Agora

  1. Acesse: https://pdimaker.com.br/login
  2. Clique em "Esqueci minha senha"
  3. Digite o email (exemplo: scorrea69@gmail.com)
  4. Clique em "Enviar Link de Redefinição"
  5. O link aparecerá na tela (já que não há email configurado)
  6. Clique no link ou copie e cole no navegador
  7. Digite a nova senha duas vezes
  8. Clique em "Redefinir Senha"

🔍 Testes Realizados

# Teste do endpoint forgot-password
curl -X POST https://pdimaker.com.br/api/auth/forgot-password \
  -H "Content-Type: application/json" \
  -d '{"email":"scorrea69@gmail.com"}'

Resultado esperado:

{
  "success": true,
  "message": "Se o email existir, você receberá um link para redefinir sua senha",
  "resetUrl": "https://pdimaker.com.br/reset-password?token=TOKEN_GERADO"
}

📧 Configuração Futura de Email (Opcional)

Para enviar emails automaticamente em vez de mostrar o link na tela, configure um serviço SMTP:

  1. Adicione variáveis de ambiente no .env.local:
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=seu-email@gmail.com
SMTP_PASSWORD=sua-senha-app
  1. Instale biblioteca de email:
npm install nodemailer
  1. Modifique o arquivo forgot-password/route.ts para enviar email em vez de retornar o link

📝 Notas Importantes

  • O sistema de autenticação está funcionando corretamente
  • O recurso "esqueci minha senha" está totalmente funcional
  • ⚠️ Como não há email configurado, o link aparece na tela (seguro apenas para uso interno)
  • 💡 Para uso público, recomenda-se configurar o envio de emails

🚀 Comandos Úteis

# Verificar logs do sistema
pm2 logs pdimaker-web

# Reiniciar serviços
pm2 restart pdimaker-web

# Rebuild após mudanças
cd /var/www/pdimaker/frontend && npm run build
pm2 restart pdimaker-web

# Resetar senha de usuário
cd /var/www/pdimaker
./reset-password.sh email@exemplo.com NovaSenha123

📅 Data da Correção

21 de Novembro de 2025


Status: Todos os problemas resolvidos!