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:
- Eine Datenbanktabelle, die die einem bestimmten Benutzer zugeordneten Anmeldungen verwaltet.
- 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).
- 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 .