Pular para conteúdo

Autenticação e Segurança

O recurso de Autenticação não substitui o sistema de login padrão do Moodle (LDAP, Manual, SAML), mas atua como uma camada de segurança para todas as operações realizadas dentro do MIDDAG.

Sua função principal é garantir que nenhuma ação seja executada sem um usuário válido e que as permissões sejam aplicadas de forma consistente — seja em uma página, uma chamada de API ou uma tarefa agendada.


Gerenciamento de Identidade

Em ambientes integrados, o "ID do Moodle" (um número sequencial como 452) raramente é suficiente. O módulo de Auth do MIDDAG implementa um Resolvedor de Identidade robusto.

Resolução Flexível

O sistema permite localizar usuários de forma segura através de múltiplos identificadores, essencial para integrações com sistemas externos:

  • ID Interno: O padrão do Moodle (id).
  • ID Number: Código de matrícula ou CPF (idnumber).
  • Username: O login do usuário (username).
  • E-mail: Endereço de correio eletrônico (email).
  • UUID: Um identificador universal único gerado pelo MIDDAG para integrações anônimas.

Controle de Acesso (ACL)

O MIDDAG centraliza a verificação de permissões para evitar a fragmentação de regras de segurança.

Contexto Automático

Ao acessar qualquer recurso do plugin, o sistema de Auth determina automaticamente o Contexto (Sistema, Categoria ou Curso). Isso impede falhas comuns onde um administrador de categoria consegue alterar dados de outra categoria por erro de código.

Capabilities Mapeadas

O plugin define capacidades granulares que podem ser atribuídas a papéis (Roles) no Moodle:

Capability Descrição
local/middag:view Permissão básica para visualizar seus próprios dados.
local/middag:manage Acesso administrativo total ao painel do plugin.
local/middag:manage_extensions Permissão para ativar/desativar extensões.
local/middag:view_reports Acesso de leitura aos dashboards e logs.

Proteção de APIs

Para módulos que expõem dados via API (como Ecommerce ou App Mobile), o MIDDAG fornece proteções de segurança adicionais:

1. Validação de Token

Verifica se as requisições externas possuem chaves de API válidas e ativas, rejeitando tráfego não autorizado na borda da aplicação.

2. Impersonificação Segura (Login As)

Permite que administradores realizem ações "em nome de" outros usuários (ex: um atendente de suporte matriculando um aluno) sem precisar saber a senha do aluno. O recurso de Auditoria registra claramente que a ação foi feita por um administrador atuando em nome do aluno, mantendo a integridade do histórico.