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.