Como fazer login no Drupal usando o nome de usuário e a senha do Google Apps?


8

Estamos procurando uma maneira de os usuários acessarem o site Drupal usando o nome de usuário e a senha da conta do Google Apps. Usamos o 'Google Apps for Education' e não queremos manter nome de usuário e senha separados para o site do Drupal.

Também gostaríamos de limitar o acesso a determinados usuários com contas do Google Apps. Algo como filtragem ou lista de contas pré-aprovadas. Além disso, a conta dos usuários deve ser criada automaticamente quando eles fazem login pela primeira vez, e eles não precisam preencher nenhuma informação adicional da conta no Drupal, mas devem ser extraídos diretamente da conta do Google Apps.

Existe algum módulo para o Drupal 7 que ofereça essa funcionalidade? Eu já tentei o OAuth, Loginza.ru, OpenID etc., como abordagens, e não é isso que estamos procurando.

Se não houver esse módulo, como devo proceder para escrever um módulo personalizado para o mesmo?

Respostas:


4

Para integrar seu site Drupal 7 ao Google Apps, você precisa:

  1. Habilite o módulo OpenID no seu site drupal
  2. Ative o Serviço de login federado usando o painel de controle do Google Apps em http://www.google.com/a/cpanel/yourdomain.com/SetupIdp
  3. Adicione um cabeçalho X-XRDS-Location em yourdomain.com/openid Por exemplo, se yourdomain.com for um site PHP, faça o upload como /openid/index.php

    <?php
    header('X-XRDS-Location: https://www.google.com/accounts/o8/site-xrds?ns=2&hd=yourdomain.com');
    ?>
    
  4. Vá para a página de login do seu site drupal. Você verá um novo link 'login com código aberto'. Clique. Digite: https://google.com/accounts/o8/site-xrds?hd=seudominio.com e clique em enviar
  5. Na primeira vez que você fizer isso, você será perguntado se deseja permitir a autenticação do site. Clique sim.
  6. Posteriormente, se você tentar fazer login usando o URL acima e estiver conectado ao Google Apps, será conectado diretamente.

3

Você não precisa escrever um módulo personalizado a partir do zero; há muito código para você começar.


11
Infelizmente, o suporte direto foi para o Drupal 7 ... e foi removido mais tarde: drupal.org/node/727650 - você pode encontrar um trabalho útil lá.
rfay

2

Joguei com o módulo Janrain Engage (anteriormente RPX) usando o serviço janrain.com. O preço é bastante baixo se você não tiver uma base de usuários massiva. Para o Google, ele fornecerá o e-mail e o nome completo do usuário (https://rpxnow.com/docs/providers)


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.