# Integração do Moodle com o Neo Idea para autenticação única (SSO)

Para configurar o Moodle para autenticar usuários com o Neo Idea, siga os passos abaixo. Se um usuário fizer login pela primeira vez e não estiver registrado no Moodle, ele será cadastrado automaticamente com as informações do Neo Idea (nome, sobrenome, e-mail, telefone, área e função). Se já estiver registrado, as informações serão atualizadas, caso sejam diferentes, exceto o e-mail.

***

## **Passo 1 - Configuração do Moodle**

Crie os campos para o usuário para que recebam a área de atuação e a função do Neo Idea.

1. Vá até **Administração do Site ➡️ Usuários ➡️ Campos de perfil do usuário (Contas)**
2. Cadastre os 2 campos que receberão a função do usuário e a área de atuação:
   1. Clique em **Criar um novo campo de perfil ➡️ Campo de uma linha de texto.**
   2. Informe **cargo** para **Nome breve**, e **Cargo** para **Nome.**
   3. Repita os 2 últimos passos para o campo **Área.**

***

## **Passo 2 - Instalação e configuração do plugin de autenticação**

{% hint style="info" %}
Este plugin será utilizado para tornar o Moodle como provedor de serviço (SP), que habilitará a autenticação com o provedor de identidade (IdP).
{% endhint %}

1. Faça o download do plugin de autenticação SAML 2.0 para o Moodle, disponível em <https://github.com/catalyst/moodle-auth_saml2/archive/refs/heads/MOODLE_404_STABLE.zip>
2. Abra o Moodle como Administrador, e vá até **Administração do Site ➡️ Plugins ➡️ Instalar Plugins.**
   1. Instale o plugin que você baixou anteriormente.
   2. Caso seja perguntado se deseja atualizar o Banco de Dados do Moodle, clique em **Sim.**
3. Após instalar, acesse a configuração do plugin indo até **Administração do Site ➡️ Plugins ➡️ Gerenciar Autenticação (seção Autenticação).**
4. Na lista de plugins de autenticação disponíveis, ative o **SAML 2.0** clicando no ícone 👁️.
5. Clique em **Configurações (do plugin).**
   1. Para o primeiro campo (IdP metadata XML) você vai inserir o XML do Provedor de Identidade (IdP).
      1. Solicite o arquivo XML com a Neo Idea através do e-mail <mailto:suporte@neoidea.com.br> ou pelo WhatsApp +55 11 94063-9893.
      2. Depois de obter o arquivo XML, abra-o e copie o conteúdo, e por último cole no campo.
   2. Insira o nome que será colocado no botão para autenticar, no campo **IdP label override**.
   3. Faça o download do XML do Service Provider, clicando no link **Download SP Metadata**, do campo **SP Metadata**.
      * Envie este arquivo XML do Service Provider para a Neo Idea, para que se possa configurar o IdP com o SP e permitir a autenticação.
   4. Marque como **Sim** a opção **Allowed any auth type**, para que todos os usuários do Moodle consigam autenticar usando SAML 2.0.
   5. Marque a opção **Endereço de e-mail** para o campo **Mapping Moodle** para dizer ao Moodle que o e-mail será utilizado para autenticar no Neo Idea.
   6. Marque a opção **Case insensitive** para o campo **Case matching**, para que a autenticação funcione não importando se o e-mail é informado em maiúsculas ou minúsculas.
   7. Marque a opção **Sim** para o campo **Auto create users**, para que os usuários sejam criados por demanda no Moodle, caso não existam.
   8. Por último é preciso fazer o mapeamento dos dados, informando quais campos do Moodle correspondem à quais campos do Neo Idea. Para isso, na seção **Mapeamento dos dados** (no final da página de configuração do plugin SAML 2.0) informe os seguintes dados:
      * Campo **Identificação de usuário**
        * Mapeamento: **uid**
        * Bloquear: **Bloqueado**
      * Campo **Nome**
        * Mapeamento: **first\_name**
        * Atualizar local: **Em cada login**
      * Campo **Sobrenome**
        * Mapeamento: **last\_name**
        * Atualizar local: **Em cada login**
      * Campo **Endereço de e-mail**
        * Mapeamento: **email**
        * Bloquear: **Bloqueado**
      * Campo **Número de identificação**
        * Mapeamento: **id**
        * Bloquear: **Bloqueado**
      * Campo **Telefone celular**
        * Mapeamento: **phone**
        * Atualizar local: **Em cada login**
      * Campo **Cargo**
        * Mapeamento: **role**
        * Atualizar local: **Em cada login**
      * Campo **Área**
        * Mapeamento: **field**
        * Atualizar local: **Em cada login**
   9. Salve as configurações clicando no botão **Salvar mudanças** (no final da página)**.**

***

## **Passo 3 - Testar a autenticação**

Após a instalação do plugin de autenticação e a configuração, chegou a hora de testar a autenticação no Neo Idea. Para isso, faça o logout do usuário Administrador e clique em Acessar. Uma tela de login será aberta, com o botão para autenticar no Neo Idea:

<figure><img src="https://554220046-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9DjIixgW1Q7jmI22kYO%2Fuploads%2FVFzNjGMkSIEJfGJ60fkV%2Fimage.png?alt=media&#x26;token=78154792-48d9-4854-8644-04866630c77b" alt="" width="496"><figcaption><p>Tela de login.</p></figcaption></figure>

Clique neste botão para ser redirecionado para a autenticação no Neo Idea:&#x20;

<figure><img src="https://554220046-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9DjIixgW1Q7jmI22kYO%2Fuploads%2FVYfuNnnE3oY9UYHE7bTZ%2Fimage.png?alt=media&#x26;token=6ee6445f-9d58-406e-9112-13f292a96306" alt="" width="563"><figcaption><p>Tela de autenticação federada.</p></figcaption></figure>

Caso o usuário não se recorde da senha, é possível solicitar a recuperação clicando no no link **clique aqui para recuperá-la!**. Será aberto um formulário para ser informado o e-mail que será recuperado a senha:

<figure><img src="https://554220046-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9DjIixgW1Q7jmI22kYO%2Fuploads%2FnbB4zwK6xDbPBFD4NN7W%2Fimage.png?alt=media&#x26;token=d01bc7c3-81dc-415c-85d3-0bd975abde67" alt="" width="563"><figcaption><p>Tela de recuperação de senha.</p></figcaption></figure>

Após informado o e-mail, e se o cadastro existir, será enviado para o e-mail as instruções de como recuperar a senha.

Informe os dados de login, como e-mail e senha, e se a autenticação funcionar e for a primeira vez que o usuário está se autenticando, será aberta uma tela de consentimento de compartilhamento das informações pessoais do Neo Idea com o Moodle:

<figure><img src="https://554220046-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9DjIixgW1Q7jmI22kYO%2Fuploads%2F1tfgJ78x45aj2nJi6Jbt%2Fconsentimento.png?alt=media&#x26;token=73c16214-0e1a-4906-9bd3-ef7bf5a59bee" alt="" width="563"><figcaption><p>Tela de consentimento de compartilhamento de dados.</p></figcaption></figure>

Após clicar em **Sim, Aceito**, o usuário será redirecionado de volta ao Moodle, autenticado.
