Wie erstelle ich ein "Add more logins" ähnlich wie bei Stackoverflow?

15

Ich verwende das OpenID Selector- Modul, um OpenID-Anmeldungen in meine Website zu integrieren. derselbe Dienst, den Stackoverflow für die Anmeldung / Registrierung verwendet. Wie kann ich jedoch eine Option zu "Weitere Anmeldungen hinzufügen" wie "Stackoverflow" hinzufügen? Ich bin auch offen für Vorschläge.

Die Idee ist, doppelte Benutzer zu verhindern. Ich benutze D7.

Siehe beigefügtes Bild.

Auch Optimierungen sind willkommen. Bildbeschreibung hier eingeben

Niksmac
quelle
2
Wenn es keine Arbeitsmodule gibt, bin ich offen für Vorschläge, und wenn ich eine perfekte Logik bekomme; Ich verspreche, dass Sie auf jeden Fall ein D7-Modul erhalten, das auf drupal.org gehostet wird.
Niksmac
Schließe einen Tag der Inaktivität ab, ich bin enttäuscht. Es ist eine seltene Sache in Stackoverflow. !!
Niksmac
Ich weiß, dass es ein Janrain-Modul gibt, das mehrere Anmeldungen integriert, aber ich habe keine Ahnung, wie oder ob sie überhaupt mit Duplikaten umgehen.
Stefgosselin
@NikhilM steckst du ein Sandbox-Projekt dafür oder was? Ich werde es gerne überprüfen :-)
AjitS
@indrock, Leider hat mein Kunde das Konzept fallen gelassen. Ich habe vor, etwas ähnliches zu machen, aber nicht in letzter Zeit. Ich bin ziemlich beschäftigt.
Niksmac

Antworten:

9

Daher gehen die meisten Drupal-Module bei der Authentifizierung standardmäßig davon aus, dass sie das aktuelle Anmelde-Setup durch ein eigenes ersetzen.

Dieser Ansatz ist unter http://drupal.org/node/114774#dist-auth ausführlich beschrieben und zeigt, wie das aktuelle OpenID-Modul im Drupal-Kern funktioniert.

Wenn ich Ihre Frage richtig verstehe, möchten Sie Benutzern die Möglichkeit geben, sich aus mehreren verschiedenen Quellen zu authentifizieren und diese aktivierten Quellen in ihrem Benutzerprofil anzuzeigen. Ich glaube nicht, dass es ein Modul gibt, das dies noch tut, da die meisten Auth-Module in ihrer eigenen kleinen Blase arbeiten, wie oben beschrieben.

Nach einem kurzen Blick auf OpenID Selector werden Sie von dort nicht viel zurücklegen müssen, da es sich hauptsächlich um die Implementierung und Konfiguration der jquery-Bibliothek handelt. Sie müssen dies von Grund auf neu schreiben.

Die Hauptbestandteile Ihres Moduls sind:

  1. Eine Datenbanktabelle, die die einem bestimmten Benutzer zugeordneten Anmeldungen verwaltet.
  2. Eine Art form_alter-Schema für die Anmeldeseite, um alle verfügbaren Anmeldemöglichkeiten anzuzeigen, die der Websitebesitzer angegeben hat (dies ersetzt, was die einzelnen Module derzeit tun).
  3. Eine Administrationsseite, auf der der Websitebesitzer aus den verfügbaren Optionen auswählen kann.

Jede dieser Anmeldeoptionen wird wahrscheinlich von einem separaten Contrib-Modul bereitgestellt, so dass Sie möglicherweise Ihre Logik für die Einzelheiten ändern müssen, die Sie in der Implementierung von diesen Modulen finden.

Für mich ist es ein ehrgeiziges Unterfangen für ein konfigurierbares Modul, das Sie veröffentlichen möchten, aber wenn Sie die schnelle und schmutzige, stark angepasste / fest codierte Route für eine einzelne Site wählen, sollten Sie nicht zu lange brauchen.

Andere Orte, an denen Sie sich inspirieren lassen können, wie Auth-Module in Drupal funktionieren, und mögliche Quellen, die Sie einbeziehen möchten, sind FBOauth und Twitter .

Mark Ferree
quelle
Vielen Dank für eine so ausführliche Antwort. Ich brauche es trotzdem. Also lass es mich tun, zumindest wird es mir helfen.
Niksmac
8

Entspricht das HybridAuth Social Sign-On nicht Ihren Anforderungen?

Dieses Modul integriert die HybridAuth-Bibliothek in Drupal und ermöglicht es Ihren Benutzern, sich über Google, Facebook, Twitter, Yahoo, MySpace, Windows Live, LinkedIn, Foursquare, AOL, OpenID und mehr anzumelden und zu registrieren. Zusätzliche Anbieter sind: Github, Gowalla, LastFM, Vimeo, Disqus, Instagram, Viadeo, Identica, Tumblr, Goodreads, QQ, Sina, Murmeln, Pixnet, Plurk, Skyrock, 500px, Vkontakte, Mail.ru, Yandex, Odnoklassniki.

Ich habe es selbst nicht benutzt, aber das Lesen der Beschreibung und der Screenshots scheint nahezulegen, dass es das tut, was Sie brauchen.

Update: In der Nutzungsstatistik sieht es so aus, als ob das Modul erst kürzlich aufgenommen wurde und möglicherweise nicht verwendet werden konnte, als Sie diese Frage stellten.

Vyoma
quelle
Wenn dieses Modul gut funktioniert ... was der Fall zu sein scheint ... ersparen Sie mir etwa 20 oder 40 Stunden Arbeit, jaja, danke!
Beto Aveiga,