Comment se connecter à Drupal à l'aide du nom d'utilisateur et du mot de passe Google Apps?

8

Nous recherchons un moyen permettant aux utilisateurs de se connecter au site Drupal en utilisant le nom d'utilisateur et le mot de passe de leur compte Google Apps. Nous utilisons «Google Apps for Education» et nous ne voulons pas conserver un nom d'utilisateur et un mot de passe distincts pour notre site Drupal.

Nous souhaitons également limiter l'accès à certains utilisateurs disposant d'un compte Google Apps. Quelque chose comme le filtrage ou la liste des comptes pré-approuvés. Et, le compte des utilisateurs doit être créé automatiquement lors de leur première connexion, et ils ne doivent pas avoir besoin de renseigner des informations de compte supplémentaires dans Drupal, il doit être directement extrait du compte Google Apps.

Existe-t-il un module pour Drupal 7 qui offre cette fonctionnalité? J'ai déjà essayé OAuth, Loginza.ru, OpenID etc. comme des approches et ce n'est pas ce que nous recherchons.

S'il n'y a pas un tel module, comment dois-je procéder pour écrire un module personnalisé pour le même?

Sneha H
la source

Réponses:

4

Pour intégrer votre site Drupal 7 à Google Apps, vous devez:

  1. Activez le module OpenID sur votre site Drupal
  2. Activez le service de connexion fédérée à l'aide de votre panneau de configuration Google Apps à l' adresse http://www.google.com/a/cpanel/yourdomain.com/SetupIdp
  3. Ajouter un en-tête X-XRDS-Location sur votredomaine.com/openid Par exemple, si votredomaine.com est un site PHP, téléchargez-le sous /openid/index.php

    <?php
    header('X-XRDS-Location: https://www.google.com/accounts/o8/site-xrds?ns=2&hd=yourdomain.com');
    ?>
  4. Accédez à la page de connexion de votre site drupal. Vous verrez un nouveau lien "connexion avec identifiant ouvert". Cliquez dessus. Entrez: https://google.com/accounts/o8/site-xrds?hd=votredomaine.com et cliquez sur soumettre
  5. La première fois que vous effectuez cette opération, il vous sera demandé si vous souhaitez autoriser votre site à s'authentifier. Cliquez oui.
  6. Par la suite, si vous essayez de vous connecter en utilisant l'URL ci-dessus et que vous êtes connecté à Google Apps, vous serez connecté directement.
Nic Rodgers
la source
3

Vous ne devriez pas avoir besoin d'écrire un module personnalisé à partir de zéro, il y a beaucoup de code pour vous aider à démarrer.

ipwa
la source
1
Malheureusement, le support direct est entré dans Drupal 7 ... puis a été supprimé plus tard: drupal.org/node/727650 - vous pouvez y trouver un travail utile.
rfay
2

J'ai joué avec le module Janrain Engage (anciennement RPX) en utilisant le service janrain.com. Le prix est assez bas si vous n'avez pas une base d'utilisateurs massive. Pour Google, il vous donnera l'adresse e-mail et le nom complet de l'utilisateur (https://rpxnow.com/docs/providers)

uwe
la source
1

Pour toute personne ayant un cas d'utilisation simple (laissez simplement les utilisateurs se connecter via Google), regardez le module Google Identity Toolkit (GITkit) :

Ce module permet aux utilisateurs de se connecter / s'inscrire sur un site Web Drupal en utilisant leurs identifiants de connexion Google via l'API Google Identity Toolkit disponible sur http://code.google.com/apis/identitytoolkit

Peter W
la source