Moodle – como autenticar usuários via Facebook e Google

Existem vários métodos de autenticação de usuários para o moodle, dentre eles os principais são: autenticação manual, via LDAP, base de dados externa etc.. Esses métodos de autenticação são configurados via interface da administração do site:

  • Minha página inicial / Administração do site / Plugins / Autenticação / Gerenciar autenticação

  Se o seu moodle irá ofertar cursos Livres onde não há a necessidade de controle de cadastros e que geralmente as inscrições nos cursos são realizadas pelos próprios usuários, uma boa opção é instalar um novo plugin de autenticação que permita o usuário autenticar-se  com a conta do Facebook ou do Google. Esse método de autenticação permite ao usuário um acesso rápido sem a necessidade de confirmação de email enviado pelo moodle , sem a necessidade de mais uma conta e mais uma senha para ser memorizada.

Procedimentos:

1) Fazer o download do plugin auth_googleoauth2 disponível em : https://moodle.org/plugins/view.php?plugin=auth_googleoauth2

2) Descompactar o arquivo e fazer o upload no servidor do moodle ( via ftp ou sftp) na pasta ../moodle/auth ou instalá-lo via interface de administração do site em:

Clique em: ContinuarAtualizando para nova versão Moodle 2.7 Build 20140512

3) Configurar o Plugin auth_googleoauth2 

Acesse no administração do site em:

e abra o “olhinho”  do Oauth2 conforme figura abaixo Moodle27 Administração Plugins Autenticação Gerenciar autenticação Editar configurações do plugin Clique em Configurações do lado direito do “olhinho” ou acesse :

Moodle27 Administração Plugins Autenticação Oauth2

4- Configurar a API do Google

  • Acessar Google console API
  • Logar com sua conta do google e acessar : Credenciais conforme figura abaixo

Google Developers Console

  • Preencher o formulário conforme modelo da Figura abaixo:
  • Em: Tipo de aplicativo: marque Aplicativo WEB
  • em Origens Javascript autorizadas, digite o nome do seu domímio ( ex: http://giselebrugger.com)… aqui ainda não coloque o endereço do moodle (http://giselebrugger.com/moodle) . Observe se está http e não https ( a não ser que o seu moodle esteja trabalhando com conexão segura )
  • Em URI DE REDIRECIONAMENTO AUTORIZADO coloque o endereço completo do seu moodle + admin/oauth2callback.php
  • ex: o meu moodle está no seguinte endereço: http://giselebrugger.com/moodle então irei preencher: http://giselebrugger.com/admin/oauth2callback.php
  • e por fim clique em : Criar ID do cliente

Google Developers Console3

  • agora basta copiar os dois campos que precisamos e colar na página de configuração do plugin Oauth2

Google Developers Console5

5- Configurar a API do FACEBOOK

  • acessar https://developers.facebook.com/apps/
  • Logar com sua conta do facebook
  • Clicar em: Create New AppAll Apps

Google Developers Console6 Digitar os caracteres apresentados e clicar no botão enviar   Google Developers Console7   Clicar no menu da esquerda na opção : settings

1) Digite o nome do seu domíniuo no campo App Domains: ex: giselebruggre.com    (sem o http://)

2) Digite o seu email em : Contact email : ex contato@giselebrugger.com 3) Clique no botão: ADD Plataform 

Google Developers Console8     4) selecione a opção : WEBSITE

  1. Google Developers Console9
  • No campo: SITE URL digite o endereço do seu moodle . Ex: http://giselebrugger.com/moodle
  • Clique no botão : SAVE CHANGES

Google Developers Console10

  • Copie o valor do campo Número de identificação do Aplicativo e cole no campo: Facebook App ID
  • Copie o valor do campo App Secret e cole no campo: Facebook App secret

Google Developers Console11   Cole as informações na página de configuração do Plugin nops campos apropriados conforme figura abaixo Google Developers Console12

 

Vamos agora habilitar o APP do Facebook clicando em Status & Review no menu da esquerda e  clicando em YES conforme imagem abaixo:

 

face

 

Após salvar as informações vamos agora configurar a tela de login para que apareça os botões de login do Google e do Facebook

Configurar tela de login

Editar a pagina ../moodle/login/index_form.html e acrescentar o código abaixo

<?php require_once($CFG->dirroot . ‘/auth/googleoauth2/lib.php’);

auth_googleoauth2_display_buttons(); ?>

Eu adicionei o código acima antes do form e ficou assim:

<?php require_once($CFG->dirroot . ‘/auth/googleoauth2/lib.php’);

auth_googleoauth2_display_buttons(); ?>

<form action=”<?php echo $CFG->httpswwwroot; ?>/login/index.php” method=”post” id=”login” <?php echo $autocomplete; ?> > <div class=”loginform”>

<div class=”form-label”><label for=”username”><?php echo($strusername) ?></label></div>

<div class=”form-input”> <input type=”text” name=”username” id=”username” size=”15″ value=”<?php p($frm->username) ?>” /> </div>

<div class=”clearer”>

<!– –></div>

<div class=”form-label”><label for=”password”><?php print_string(“password”) ?></label></div> <div class=”form-input”> <input type=”password” name=”password” id=”password” size=”15″ value=”” <?php echo $autocomplete; ?> /> </div> </div>

 

Salve o arquivo e verifique o resultado tela_login

Configurar Bloco Acesso ( bloco de login)

O bloco esta disponível dentro da pasta : ../moodle/blocks/login/block_login.php Neste bloco você terá que colocar os links em : $this->content->text Copie os links gerados nas images do Google e do Facebook da tela de login e substitua no exemplo abaixo após a linha 79 acrescentar o código abaixo: $this->content->text .= ‘<div class=”c1 fld username”>Logar via Rede Social<br></label>’; $this->content->text.=’<a href=”https://www.facebook.com/dialog/oauth?client_id=xxxxxxxxxxxxxxx&redirect_uri=http://seu_endereço_do_moodle/auth/googleoauth2/facebook_redirect.php&scope=email&response_type=code” target=”_blank”><img src=”http://endereco_com_imagem_do_facebook.jpg” /></a><a href=”https://accounts.google.com/o/oauth2/auth?client_id=yyyyyyyyyyy-xxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com&redirect_uri=http://endereco_do_seu_moodle/auth/googleoauth2/google_redirect.php&scope=https://www.googleapis.com/auth/userinfo.profile%20https://www.googleapis.com/auth/userinfo.email&response_type=code” target=”_blank”><img src=”http://endereco_de_imagem_do_google.jpg” /></a>‘;

Veja agora o resultado do bloco de acesso

bloco_facebook

Prontinho. Seu moodle já está habilitado para logar com contas do google e facebook.

Quer testar?  http://giselebrugger.com/moodle/

Deixe no formulário abaixo suas dúvidas e sugestões

Share

18 comentários em “Moodle – como autenticar usuários via Facebook e Google

  • Isso mesmo Eduardo. Obrigada pela lembrança.

    Então basta voltar para a permissão original:

    chmod 755 ../moodle/auth

  • Olá Marcelo,
    Verifique se este email do usuário que você está testando via redes sociais..se o mesmo já não existe cadastrado no moodle, pois o email é único.
    Por exemplo : o usuário administrador do sistema possui o email teste@gmail.com e você está testando a autenticação via google com o mesmo email.
    Teste com emails distintos.

  • Bom dia Gisele como vai?

    Pesquisando na internet sobre autenticação de usuários no moodle por meio das medias sociais cheguei até o seu post. Acontece que não tenho muita experiencia em programação mais me saio bem , em geral com o moodle, o qual aprendi sozinha.
    Fiquei super contente quando encontrei suas explicações mas infelizmente não funcionou pra mim, após executar todos os passos a autenticação continua dando erro:

    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request

    Seria possível você me direcionar para encontrar a solução ou indicar outras leituras onde possa fazê-lo?
    Meu Moodle está hospedado no hints.com.br.

    Desde já agradeço a atenção,

    Angélica

  • Olá Angélica
    Tente habilitar o modo DEBUG do seu moodle para ter mais informações sobre o erro.
    Vá em Administração do site -> Desenvolvimento -> debbuging e habilite o Mensagens de debug para : DESENVOLVEDOR: mensagens extras de debug do Moodle para desenvolvedores e teste novamente. Ele irá lhe informar mais detalhes do erro.
    Espero ter lhe ajudado.
    Qualquer nova informação poste aqui para outros usuários também.

  • Oi Gisele!

    Fiz todos os passos para o facebook, mas quando tento logar aparece:

    O URL informado não é permitido pela configuração do aplicativo: Uma ou mais dos URLs fornecidos não são permitidos nas configurações do aplicativo. O URL deve corresponder ao URL do site ou URL do Canvas, ou o domínio deve ser um subdomínio de um dos domínios do aplicativo.

  • Olá Sérgio
    Tente verificar novamente os passos onde você informa :
    Site URL -> aqui deverá ser o o endereço completo do teu moodle (http://aprendermusica.com.br/moodle)
    App Domains -> aqui deverá ser apenas o endereço do domínio : aprendermusica.com.br
    feito isso lembre-se de habilitar o app (APP do Facebook clicando em Status & Review no menu da esquerda e clicando em YES conforme imagem abaixo)

    Tente e nos avise se deu certo.
    Boa sorte

  • Oi Gisele, obrigada pelo passo a passo.
    Existe a possibilidade do usuário que já tem conta nesse moodle vincular também com a conta google? Não seria então uma conta nova no ambiente?
    Queria fazer isso no meu moodle. Quem quisesse vincular, poderia, mas as contas já existem.
    Obrigada
    Helena

  • Olá Helena
    Você pode manualmente editar a conta do usuário e trocar o método de autenticação para: Oauth2 e desta forma ele irá autenticar pela rede social.

  • Ola;
    Instalei o plugin, habilitei ele no “olhinho” mas não aparece a opção de configuração, o que pode ser

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Contato
close slider