Таким образом, по умолчанию предполагается, что большинство модулей Drupal делают с аутентификацией, что они заменят текущие настройки входа в систему своими собственными.
Этот подход хорошо описан в http://drupal.org/node/114774#dist-auth и можно увидеть в том, как работает текущий модуль openid, представленный в ядре Drupal.
Если я правильно понимаю ваш вопрос, вы хотите, чтобы люди могли проходить проверку подлинности из разных источников и чтобы эти включенные источники отображались в их профиле пользователя. Я не думаю, что есть модуль, который делает это, поскольку большинство модулей авторизации работают в своем собственном маленьком пузыре, как описано выше.
После быстрого взгляда на OpenID Selector вы не добьетесь большого успеха, он в основном реализует и конфигурирует библиотеку jquery. Вам нужно будет написать это с нуля.
Основными частями вашего модуля будут:
- Таблица базы данных, в которой хранятся логины, связанные с данным пользователем.
- Некоторая схема form_alter для страницы входа в систему, чтобы показать все доступные параметры входа, указанные владельцем сайта (это заменит то, что в данный момент делают отдельные модули)
- Страница администратора для владельца сайта, чтобы выбрать из доступных вариантов.
Каждый из этих параметров входа в систему, вероятно, будет предоставлен отдельным модулем contrib, поэтому вам, возможно, придется изменить свою логику в соответствии с особенностями, которые вы найдете в реализации этих модулей.
Для меня это амбициозная задача для конфигурируемого модуля, который вы планируете выпустить, но если вы пойдете по быстрому и грязному, сильно настроенному / жестко закодированному маршруту для одного сайта, это не займет у вас слишком много времени.
Другие места, где можно найти вдохновение о том, как работают модули аутентификации в Drupal, и возможные источники, которые вы, возможно, захотите включить, - это FBOauth и Twitter .