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?

Sneha H
fonte

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.
Nic Rodgers
fonte
3

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

ipwa
fonte
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)

uwe
fonte
1

Para qualquer pessoa com um caso de uso simples (apenas permita que os usuários acessem via Google), consulte o módulo Google Identity Toolkit (GITkit) :

Este módulo permite que os usuários façam login / registrem-se em um site Drupal usando suas credenciais de login do Google por meio da API do Google Identity Toolkit disponível em http://code.google.com/apis/identitytoolkit

Peter W
fonte