Files
rodrigonet/AUTHENTICATION-SYSTEM.md
T
rodrigo 25827aa049 fix ajuda
Signed-off-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
2025-08-08 10:30:47 -03:00

4.0 KiB

🛡️ 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

# IDs dos usuários autorizados (separados por vírgula)
ALLOWED_USERS=593272271

Para adicionar mais usuários:

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

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

// Verificar autorização
if (!this.isAuthorized(userId)) {
    await this.bot.sendMessage(chatId, '🚫 Acesso Negado...');
    return;
}

Proteção de Callbacks

// 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:
    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:

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

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! 🛡️✨