# 🔐 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:** ```bash cd /var/www/pdimaker ./reset-password.sh EMAIL_DO_USUARIO NOVA_SENHA ``` Exemplo: ```bash ./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 ```bash # 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:** ```json { "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`: ```env SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=seu-email@gmail.com SMTP_PASSWORD=sua-senha-app ``` 2. Instale biblioteca de email: ```bash npm install nodemailer ``` 3. 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 ```bash # 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!