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

126 lines
3.2 KiB
Markdown

# 🔐 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!