¿Cómo iniciar sesión en Drupal con el nombre de usuario y la contraseña de Google Apps?

8

Estamos buscando una forma de utilizar los usuarios para iniciar sesión en el sitio de Drupal con su nombre de usuario y contraseña de la cuenta de Google Apps. Usamos 'Google Apps for Education' y no queremos mantener un nombre de usuario y contraseña separados para nuestro sitio Drupal.

También nos gustaría limitar el acceso a ciertos usuarios que tienen cuentas de Google Apps. Algo como filtrado o lista de cuentas preaprobada. Y, la cuenta de los usuarios debe crearse automáticamente cuando inician sesión por primera vez, y no deben necesitar completar ninguna información adicional de la cuenta en Drupal, debe extraerse directamente de la cuenta de Google Apps.

¿Hay algún módulo para Drupal 7 que brinde esta funcionalidad? Ya probé OAuth, Loginza.ru, OpenID, etc., y estos no son lo que estamos buscando.

Si no existe dicho módulo, ¿cómo procederé escribiendo un módulo personalizado para el mismo?

Sneha H
fuente

Respuestas:

4

Para integrar su sitio Drupal 7 con Google Apps, necesita:

  1. Habilite el módulo OpenID en su sitio drupal
  2. Habilite el Servicio de inicio de sesión federado utilizando su panel de control de Google Apps en http://www.google.com/a/cpanel/yourdomain.com/SetupIdp
  3. Agregue un encabezado X-XRDS-Location en yourdomain.com/openid Por ejemplo, si yourdomain.com es un sitio PHP, cárguelo como /openid/index.php

    <?php
    header('X-XRDS-Location: https://www.google.com/accounts/o8/site-xrds?ns=2&hd=yourdomain.com');
    ?>
    
  4. Vaya a la página de inicio de sesión de su sitio drupal. Verá un nuevo enlace 'iniciar sesión con ID abierta'. Pinchalo. Ingrese: https://google.com/accounts/o8/site-xrds?hd=yourdomain.com y haga clic en enviar
  5. La primera vez que haga esto, se le preguntará si desea permitir que su sitio se autentique. Haga clic en sí.
  6. Posteriormente, si intenta iniciar sesión con la URL anterior y ha iniciado sesión en Google Apps, iniciará sesión directamente.
Nic Rodgers
fuente
3

No debería necesitar escribir un módulo personalizado desde cero, hay mucho código para comenzar.

ipwa
fuente
1
Lamentablemente, el soporte directo entró en Drupal 7 ... y luego se eliminó más tarde: drupal.org/node/727650 : puede encontrar trabajo útil allí.
rfay
2

He jugado con el módulo Janrain Engage (anteriormente RPX) usando el servicio janrain.com. El precio es bastante bajo si no tiene una base de usuarios masiva. Para Google, le dará el correo electrónico y el nombre completo del usuario (https://rpxnow.com/docs/providers)

uwe
fuente
1

Para cualquier persona con un caso de uso simple (solo permita que los usuarios inicien sesión a través de Google), mire el módulo Google Identity Toolkit (GITkit) :

Este módulo permite a los usuarios iniciar sesión / registrarse en un sitio web de Drupal utilizando sus credenciales de inicio de sesión de Google a través de la API de Google Identity Toolkit disponible en http://code.google.com/apis/identitytoolkit

Peter W
fuente