- Corrige nomes de colunas SQL (expires_at -> expiresAt) - Link de reset agora aparece na tela - Adiciona documentação de solução - Sistema totalmente funcional
3.2 KiB
3.2 KiB
🔐 Solução: Problema de Login Admin e "Esqueci Minha Senha"
📋 Problemas Encontrados
- ✅ Senha do admin não funcionava
- ✅ 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:
-
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
- O código usava
-
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
- Acesse: https://pdimaker.com.br/login
- Clique em "Esqueci minha senha"
- Digite o email (exemplo: scorrea69@gmail.com)
- Clique em "Enviar Link de Redefinição"
- O link aparecerá na tela (já que não há email configurado)
- Clique no link ou copie e cole no navegador
- Digite a nova senha duas vezes
- 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:
- 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
- Instale biblioteca de email:
npm install nodemailer
- Modifique o arquivo
forgot-password/route.tspara 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!