Comment créer un «Ajouter plus de connexions» similaire à Stackoverflow?


15

J'utilise le module OpenID Selector pour intégrer les connexions OpenID à mon site Web; le même service utilisé par Stackoverflow pour la connexion / l'enregistrement. Cependant, comment puis-je ajouter une option à "Ajouter plus de connexions" comme Stackoverflow? Je suis également ouvert aux suggestions.

L'idée est d'empêcher les utilisateurs en double. J'utilise D7.

Voir l'image ci-jointe.

Des modifications sont également les bienvenues. entrez la description de l'image ici


2
S'il n'y a pas de modules qui fonctionnent, je suis ouvert aux suggestions et si j'obtiens une logique parfaite; je vous promets que vous obtiendrez un module D7 hébergé sur drupal.org à coup sûr.
niksmac

Terminez une journée d'inactivité, je suis déçu. C'est une chose rare dans Stackoverflow. !!
niksmac

Je sais qu'il existe un module Janrain qui intègre plusieurs connexions, mais je ne sais pas du tout comment ni même s'il traite les doublons.
stefgosselin

@NikhilM mettez-vous un projet de bac à sable pour cela ou quoi? Je serai heureux de le revoir :-)
AjitS

@indrock, Malheureusement, mon client a abandonné le concept. Je prévois de faire quelque chose de similaire mais pas récemment. Je suis assez occupé.
niksmac

Réponses:


9

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:

  1. Une table de base de données qui gère les connexions associées à un utilisateur donné.
  2. 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)
  3. 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 .


Merci pour cette réponse si détaillée. J'en ai besoin de toute façon. Alors, faisons-le moi-même au moins, cela m'aidera.
niksmac

8

La connexion sociale HybridAuth ne correspond -elle pas à vos besoins?

Ce module intègre la bibliothèque HybridAuth dans Drupal et permet à vos utilisateurs de se connecter et de s'enregistrer en utilisant Google, Facebook, Twitter, Yahoo, MySpace, Windows Live, LinkedIn, Foursquare, AOL, OpenID et plus encore. Les fournisseurs supplémentaires incluent: Github, Gowalla, LastFM, Vimeo, Disqus, Instagram, Viadeo, Identica, Tumblr, Goodreads, QQ, Sina, Murmur, Pixnet, Plurk, Skyrock, 500px, Vkontakte, Mail.ru, Yandex, Odnoklassniki.

Je ne l'ai pas utilisé moi-même, mais la lecture de la description et des captures d'écran semble suggérer qu'il fait ce dont vous avez besoin.

Mise à jour: En regardant les statistiques d'utilisation, il semble que le module n'ait été récupéré que récemment et pourrait ne pas être utilisable lorsque vous avez posé cette question.


Si ce module fonctionne bien ... ce qui semble être le cas ... tu me sauves environ 20 ou 40 heures de travail jaja merci!
Beto Aveiga
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.