Студия разработки сайтов и приложений

Netspark.ru

Заметки и разработки

Drupal

OpenID в Друпале

Пару дней назад подключил OpenID, чтобы пользователи могли заходить с его помощью на домовую страницу. Для этих целей взял модуль openid, добавляющий соответствующий функционал в форму регистрации. Пользователь вводит свой OpenID и модуль автоматически регистрирует его на сайте с данными, полученными от указанного сервера.

Модуль этот включен в стандартную поставку Drupal. Тем не менее, не все с ним так просто. Для начала выяснилось, что не со всеми серверами модуль openid согласен работать. Например, решительно отказывается воспринимать аккаунты Блоггера. Пришлось изрядно покопаться, прежде чем нашелся патч. Затем возникли проблемы с редиректами с указанной пользователем страницы на другой OpenID. Полез в код модуля. Выяснилось, что парсер страницы, указанной в качестве OpenID, парсит плохо и теги, содержащие rel="openid.server", найти может не всегда. Понять это удалось не сразу, чему виной - моя неспособность мгновенно пронзать разумом регулярные выражения. Но уже когда удалось - получилось найти еще один патч. С ним парсер стал работать нормально. И модуль openid, соответственно, тоже более-менее работает. Мне показалось только странным, что указанные патчи появились уже довольно давно, а в официальных апдейтах их все еще нет. Вероятно, что-то появится в ближайшем будущем.

А под конец оказалось, что нигде нет модуля, позволяющего впихнуть поле OpenID в форму анонимных комментариев, чтобы по-быстрому регистрировать анонимов без отрыва от комментирования. В общем, сделать чтобы было совсем как у людей - пока не получается. Но все равно удобнее, чем раньше.

В изощренном тестировании установленного модуля openid непосредственное участие принял GineR, за что ему большое спасибо.

Комментарии