- Corrige nomes de colunas SQL (expires_at -> expiresAt) - Link de reset agora aparece na tela - Adiciona documentação de solução - Sistema totalmente funcional
126 lines
3.2 KiB
Markdown
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!
|
|
|