Pular para o conteúdo principal

auth

Cenários de teste e debug - Autenticação & Sessão

Módulos principais relacionados:

  • config/processa_login.php
  • config/process_forgot_password.php
  • config/reset-password.php
  • config/sessao_config.php
  • Telas: index.php, forgot-password.php, reset-password.php

Checklist geral

  • Login com credenciais válidas (usuário ativo).
  • Login com email inexistente.
  • Login com senha incorreta.
  • Login com usuário com status Pendente.
  • Login com usuário com status Inativo/Desativado.
  • Tentativa de login com campos vazios.
  • Recuperação de senha (fluxo completo).
  • Sessão expirada / hash inválido.

Fluxo: Login

Pontos de entrada

  • Frontend: index.php (#loginForm via AJAX).
  • Backend: config/processa_login.php.

Cenários principais

  1. Sucesso

    • Ação:
      • Preencher email + senha válidos.
      • Enviar formulário.
    • Expectativa:
      • Resposta JSON com status: success.
      • Dados de usuário e permissões enviados.
      • Redirecionamento para dashboard/dashboard.php.
    • Pontos de log sugeridos (app_log):
      • Entrada:
        • Módulo: LOGIN
        • Ação: VALIDACAO_ENTRADA
        • Contexto: ['email' => $email, 'ip' => $_SERVER['REMOTE_ADDR']]
      • Usuário encontrado:
        • Módulo: LOGIN
        • Ação: USUARIO_ENCONTRADO
        • Contexto: ['userId' => $colaborador['id'], 'status' => $colaborador['status']]
      • Autenticação ok:
        • Módulo: LOGIN
        • Ação: AUTENTICACAO_SUCESSO
        • Contexto: ['userId' => $colaborador['id'], 'whiteLabelId' => $colaborador['white_label_id'] ?? null]
  2. Email inexistente

    • Ação:
      • Usar email não cadastrado.
    • Expectativa:
      • Resposta status: error, mensagem “Usuário não encontrado”.
    • Logs sugeridos:
      • Módulo: LOGIN
      • Ação: USUARIO_NAO_ENCONTRADO
      • Contexto: ['email' => $email]
  3. Senha incorreta

    • Ação:
      • Email válido, senha errada.
    • Expectativa:
      • Resposta status: error, mensagem “Senha incorreta!”.
    • Logs sugeridos:
      • Módulo: LOGIN
      • Ação: SENHA_INCORRETA
      • Contexto: ['userId' => $colaborador['id']]
  4. Usuário pendente/inativo

    • Ação:
      • Usar usuário com status diferente de Ativo.
    • Expectativa:
      • Mensagem adequada (pendente ou desativado).
    • Logs sugeridos:
      • Módulo: LOGIN
      • Ação: USUARIO_BLOQUEADO
      • Contexto: ['userId' => $colaborador['id'], 'status' => $colaborador['status']]
  5. Erros internos

    • Ação:
      • Simular falha de banco (db.php), prepare/execute com erro, etc.
    • Expectativa:
      • HTTP 500 com mensagem genérica.
      • Detalhes em log de erro PHP e em logs de aplicação.
    • Logs sugeridos:
      • Módulo: LOGIN
      • Ação: ERRO_DB
      • Nível: ERROR
      • Contexto: mensagem de exceção / erro.

Fluxo: Sessão e permissões

Cenários principais

  • Acesso ao dashboard com sessão válida.
  • Acesso ao dashboard sem sessão (redirecionar ou erro).
  • Acesso a rota/tela sem permissão.

Pontos de log sugeridos

  • Módulo: SESSAO
    • Ação: VALIDACAO_HASH
    • Contexto: ['userId' => $_SESSION['user_id'] ?? null]
  • Módulo: PERMISSOES
    • Ação: PERMISSAO_NEGADA
    • Contexto: ['userId' => $_SESSION['user_id'] ?? null, 'permissao' => $permissaoNecessaria]