Instalação¶
A instalação tem duas pontas: registrar uma aplicação OAuth2 no SUAP e configurar o plugin no Moodle com as credenciais geradas.
1. Configuração no SUAP¶
No SUAP, pesquise por auth e selecione Aplicações OAUTH2.
No canto superior direito, clique em Adicionar Aplicação OAUTH2.
Preencha os campos:
Nome: um nome descritivo para a instância do Moodle.
Authorization grant type:
Authorization code.Redirect URIs:
http://moodle/auth/suap/authenticate.php http://moodle/admin/oauth2callback.php http://moodle/authenticate.phpClient type:
Public.Algorithm:
No OIDC support.Ativo: marcado.
Clique em Salvar mudanças.
Warning
O Client Secret é exibido apenas uma vez. Guarde-o imediatamente — se for perdido, é necessário registrar uma nova aplicação.
2. Configuração no Moodle¶
Ative o plugin de autenticação: Administração do site → Plugins → Autenticação → Gerenciar autenticação e habilite SUAP.
Defina a URL alternativa para login (
alternateloginurl) como:http://moodle/auth/suap/login.php.
Danger
Ao definir a URL alternativa, todas as tentativas de login são redirecionadas para essa página. Garanta que já existe pelo menos um usuário com autenticação OAuth2 e permissões de administrador antes de salvar, para não ficar bloqueado do lado de fora do Moodle.
Role até o final e clique em Salvar mudanças.
3. Configuração do SUAP no Moodle¶
Em Administração do site → Plugins → Autenticação → SUAP, preencha:
Campo |
Valor |
|---|---|
Client ID |
Gerado no SUAP no passo 1. |
Client Secret |
Gerado no SUAP no passo 1. |
Authorize URL |
Ex.: |
Token URL |
Ex.: |
RH/EU URL |
Ex.: |
RH/Meus Dados URL |
Ex.: |
RH/Meus Vínculos URL |
Ex.: |
Ensino/Meus Dados Aluno URL |
Ex.: |
Logout URL |
Ex.: |
Todos os campos têm um valor padrão pré-preenchido a partir da variável de ambiente
SUAP_BASE_URL (https://suap.ifrn.edu.br se não definida) — ver settings.php.
Clique em Salvar mudanças.
4. Testando o acesso¶
Ao clicar no botão de login, o usuário é redirecionado à tela de autenticação do SUAP.
Se o usuário já existir no Moodle, seus dados são atualizados.
Caso contrário, uma nova conta é criada automaticamente.
Note
O endpoint /auth/suap/health.php exige um usuário autenticado (require_login) e
expõe as configurações ativas do plugin (URLs, versão) em JSON — útil para diagnosticar
uma instalação sem revelar o client secret.