Ainsi, l'hypothèse par défaut que la plupart des modules Drupal font avec l'authentification est qu'ils remplaceront la configuration de connexion actuelle par la leur.
Cette approche est bien décrite dans http://drupal.org/node/114774#dist-auth et peut être vue dans le fonctionnement du module openid actuel fourni dans le noyau Drupal.
Si je comprends bien votre question, vous souhaitez fournir aux utilisateurs un moyen de s'authentifier à partir de plusieurs sources différentes et que ces sources activées s'affichent sous leur profil d'utilisateur. Je ne pense pas qu'il existe un module qui le fasse encore, car la plupart des modules d'authentification fonctionnent dans leur propre petite bulle comme décrit ci-dessus.
Après un rapide coup d'œil à OpenID Selector, vous n'obtiendrez pas beaucoup de kilométrage à partir de là, il implémentera et configurera principalement la bibliothèque jquery. Vous allez devoir l'écrire à partir de zéro.
Les principaux éléments de votre module seront:
- Une table de base de données qui gère les connexions associées à un utilisateur donné.
- Une sorte de schéma form_alter pour la page de connexion pour afficher toutes les options de connexion disponibles que le propriétaire du site a spécifiées (cela remplacera ce que les modules individuels font actuellement)
- Une page d'administration permettant au propriétaire du site de choisir parmi les options disponibles.
Chacune de ces options de connexion sera probablement fournie par un module contrib séparé, vous devrez donc peut-être modifier votre logique pour les spécificités que vous trouverez dans l'implémentation à partir de ces modules.
Pour moi, c'est une entreprise ambitieuse pour un module configurable que vous prévoyez de publier, mais si vous choisissez la route rapide et sale hautement personnalisée / codée en dur pour un seul site, cela ne devrait pas vous prendre trop de temps.
FBOauth et Twitter sont d'autres endroits pour trouver l'inspiration sur le fonctionnement des modules d'authentification dans Drupal et les sources possibles que vous voudrez peut-être inclure .