184 lines
4.0 KiB
Markdown
184 lines
4.0 KiB
Markdown
# 🛡️ Sistema de Autenticação do Bot
|
|
|
|
## ✅ **IMPLEMENTADO COM SUCESSO**
|
|
|
|
### 🔐 **Controle de Acesso**
|
|
|
|
**Usuários Autorizados:** Apenas usuários na lista podem usar o bot
|
|
**Configuração:** Via arquivo `.env`
|
|
**Verificação:** Todas as mensagens e callbacks são verificados
|
|
|
|
### 📝 **Configuração**
|
|
|
|
**Arquivo:** `.env`
|
|
```properties
|
|
# IDs dos usuários autorizados (separados por vírgula)
|
|
ALLOWED_USERS=593272271
|
|
```
|
|
|
|
**Para adicionar mais usuários:**
|
|
```properties
|
|
ALLOWED_USERS=593272271,123456789,987654321
|
|
```
|
|
|
|
### 🚫 **Mensagem de Acesso Negado**
|
|
|
|
Usuários não autorizados recebem:
|
|
```
|
|
🚫 Acesso Negado
|
|
|
|
❌ Você não tem permissão para usar este bot.
|
|
🆔 Seu ID: 123456789
|
|
|
|
📞 Entre em contato com o administrador para solicitar acesso.
|
|
```
|
|
|
|
### 👤 **Como Descobrir ID do Usuário**
|
|
|
|
1. **Usuário envia mensagem para o bot**
|
|
2. **Bot responde com o ID na mensagem de negação**
|
|
3. **Ou use o comando:** `meu id`
|
|
|
|
### 🛠️ **Comandos Administrativos**
|
|
|
|
#### **`admin`** - Painel Administrativo
|
|
```
|
|
🛡️ Painel Administrativo
|
|
|
|
👥 Gestão de Usuários:
|
|
• usuarios autorizados - Ver lista de usuários
|
|
• meu id - Ver seu ID do Telegram
|
|
|
|
📊 Sistema:
|
|
• status - Status do bot
|
|
• equipamentos - Lista de equipamentos
|
|
|
|
🔧 Comandos disponíveis:
|
|
• Ver sinal, adicionar ONU, remover ONU
|
|
• Resetar ONU, atualizar firmware
|
|
• Gerenciar usuários Juniper
|
|
```
|
|
|
|
#### **`usuarios autorizados`** - Lista de Usuários
|
|
```
|
|
👥 Usuários Autorizados
|
|
|
|
📊 Total: 1 usuário(s)
|
|
|
|
1. ID: 593272271
|
|
|
|
🆔 Seu ID: 593272271
|
|
```
|
|
|
|
#### **`meu id`** - Identificação do Usuário
|
|
```
|
|
🆔 Sua Identificação
|
|
|
|
👤 User ID: 593272271
|
|
💬 Chat ID: 593272271
|
|
|
|
📋 Use estes IDs para configurar permissões
|
|
```
|
|
|
|
### 🔧 **Implementação Técnica**
|
|
|
|
#### **Verificação de Autorização**
|
|
```javascript
|
|
isAuthorized(userId) {
|
|
if (config.bot.allowedUsers.length === 0) {
|
|
return true; // Se não há lista, permite todos
|
|
}
|
|
return config.bot.allowedUsers.includes(userId);
|
|
}
|
|
```
|
|
|
|
#### **Proteção de Mensagens**
|
|
```javascript
|
|
// Verificar autorização
|
|
if (!this.isAuthorized(userId)) {
|
|
await this.bot.sendMessage(chatId, '🚫 Acesso Negado...');
|
|
return;
|
|
}
|
|
```
|
|
|
|
#### **Proteção de Callbacks**
|
|
```javascript
|
|
// Verificar autorização
|
|
if (!this.isAuthorized(userId)) {
|
|
await this.bot.answerCallbackQuery(callbackQuery.id, '🚫 Acesso negado');
|
|
return;
|
|
}
|
|
```
|
|
|
|
### 📊 **Logs de Segurança**
|
|
|
|
**Acesso negado:**
|
|
```
|
|
🚫 Acesso negado para usuário João (123456789)
|
|
🚫 Callback negado para usuário (123456789)
|
|
```
|
|
|
|
**Mensagens de usuários autorizados:**
|
|
```
|
|
📨 Mensagem de Rodrigo (593272271): admin
|
|
```
|
|
|
|
### 🚀 **Para Adicionar Novo Usuário**
|
|
|
|
1. **O usuário envia mensagem para o bot**
|
|
2. **Bot responde com o ID dele**
|
|
3. **Administrador adiciona o ID no `.env`:**
|
|
```properties
|
|
ALLOWED_USERS=593272271,NOVO_ID_AQUI
|
|
```
|
|
4. **Reiniciar o bot**
|
|
5. **Usuário já pode usar o bot**
|
|
|
|
### ⚡ **Exemplo de Uso**
|
|
|
|
**Usuário não autorizado tenta usar:**
|
|
```
|
|
Usuário: ver sinal DACM123456
|
|
Bot: 🚫 Acesso Negado
|
|
🆔 Seu ID: 123456789
|
|
```
|
|
|
|
**Administrador adiciona ID e reinicia bot:**
|
|
```properties
|
|
ALLOWED_USERS=593272271,123456789
|
|
```
|
|
|
|
**Usuário já autorizado:**
|
|
```
|
|
Usuário: ver sinal DACM123456
|
|
Bot: 📡 Selecione a OLT para verificar o sinal...
|
|
```
|
|
|
|
### 🛡️ **Segurança Implementada**
|
|
|
|
- ✅ **Controle total de acesso**
|
|
- ✅ **Verificação em todas as operações**
|
|
- ✅ **Logs de tentativas de acesso**
|
|
- ✅ **Mensagens informativas para negação**
|
|
- ✅ **Comandos administrativos**
|
|
- ✅ **Identificação de usuários**
|
|
|
|
### 🎯 **Status**
|
|
|
|
**Sistema de autenticação 100% funcional!**
|
|
|
|
**Usuário autorizado atual:** Rodrigo (593272271)
|
|
**Para testar:** Reinicie o bot e use `admin` para ver o painel
|
|
|
|
```bash
|
|
cd c:\Users\rodri\build\bot-ajuda
|
|
npm start
|
|
```
|
|
|
|
**No Telegram:**
|
|
- `admin` - Ver painel administrativo
|
|
- `usuarios autorizados` - Ver lista de usuários
|
|
- `meu id` - Ver seu ID
|
|
|
|
**Agora seu bot está seguro!** 🛡️✨
|