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:
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