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:
3) Configurar o Plugin auth_googleoauth2
Acesse no administração do site em:
e abra o “olhinho” do Oauth2 conforme figura abaixo Editar configurações do plugin Clique em Configurações do lado direito do “olhinho” ou acesse :
4- Configurar a API do Google
- Acessar Google console API
- Logar com sua conta do google e acessar : Credenciais conforme figura abaixo
- 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
- agora basta copiar os dois campos que precisamos e colar na página de configuração do plugin Oauth2
5- Configurar a API do FACEBOOK
- acessar https://developers.facebook.com/apps/
- Logar com sua conta do facebook
- Clicar em: Create New App
Digitar os caracteres apresentados e clicar no botão enviar 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
4) selecione a opção : WEBSITE
- No campo: SITE URL digite o endereço do seu moodle . Ex: http://giselebrugger.com/moodle
- Clique no botão : SAVE CHANGES
- 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
Cole as informações na página de configuração do Plugin nops campos apropriados conforme figura abaixo
Vamos agora habilitar o APP do Facebook clicando em Status & Review no menu da esquerda e clicando em YES conforme imagem abaixo:
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
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
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
Só faltou você dizer para voltar a permissão da pasta para a antiga para evitar problemas de segurança.
Isso mesmo Eduardo. Obrigada pela lembrança.
Então basta voltar para a permissão original:
chmod 755 ../moodle/auth
Fiz suas recomendações mas no momento de fazer login ele volta pra tela de login sem logar. alguma recomendação ?
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.
Acho que pode ser isso sim, rsrs. mando retorno por aqui. obrigado cara…
Bingo, isso mesmo. Sorry, brigadão e boa noite.
Que bom que deu certo. Obrigada pelo retorno.
Parabéns pelo belo tutorial Gisele! Estou estruturando meu ambiente agora e já vou implementar a autenticação via Facebbok e Google. Abraço
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,
Vou seguir as instruções e dou um feedback.
Obrigada.
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
Gisele, você poderia me ajudar, pois só consigo logar com a prória conta do facebook, outra não loga.
Conseguir resolver.
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
Gisele, como sempre gerando muito conteúdo interssante. É antigo, mas me ajudou mjuito aqui.
Abraços
Oi Tiago… atualmente nas novas versões ficou muito mais simples de configurar as autenticações.
Em breve faço outro tutorial para as versões novas.