Новый модуль Open Login

Аватар пользователя seaji seaji 28 марта 2009 в 2:02

Привет всем.
Вот написал модуль. Он расширяет возможности модуля OpenID.
Причем, если у вас уже есть пользователи с зарегистрированными идентификаторами OpenID, то они все так же и дальше могут ими пользоваться, данные ни куда не исчезнут.
Во первых, исправлен известный баг с использованием Гугла в качестве OpenID сервера (http://drupal.org/node/339600). исправления уже вошли в ядро.
Во вторых, добавлен удобный виджет для выбора провайдера OpenID для входа. При успешном входе идентификатор записывается в кукисы и в следующий раз он автоматом вставляется в поле OpenID.
Скачиваем с d.o Open Login

P.S. Если вы хотите использовать Гугл, то придется включить сокет ssl в php, иначе Гугл не будет работать. Проще говоря, php должен иметь возможность отправлять запросы по протоколу https://. На данный момент у меня на хостинге отсутствует эта возможность, поэтому Гугл выдает ошибку. Веду переговоры с хостером.

Скачиваем с d.o Open Login

Примерчик можно посмотреть здесь: http://videotech.spb.ru/user

ВложениеРазмер
Иконка изображения 2009-03-28_014725.gif15.43 КБ
0 Thanks

Комментарии

Аватар пользователя sashken sashken 28 марта 2009 в 8:34

Че то не получается войти

выбираю гугл:
Извините, но это неправильный OpenID. Пожалуйста, проверьте правильно ли вы написали ваш ID.

Аватар пользователя seaji seaji 28 марта 2009 в 11:55

Я же про это уже написал.

"seaji" wrote:

Если вы хотите использовать Гугл, то придется включить сокет ssl в php, иначе Гугл не будет работать. Проще говоря, php должен иметь возможность отправлять запросы по протоколу https://. На данный момент у меня на хостинге отсутствует эта возможность, поэтому Гугл выдает ошибку. Веду переговоры с хостером.

Аватар пользователя lastormo lastormo 28 марта 2009 в 12:15

не смог зайти, потому что ну уж очень зверская каптча
а так все очень мило и красиво, спасибо большое з модуль :)

Аватар пользователя VladSavitsky VladSavitsky 28 марта 2009 в 16:47

Выглядит симпатично.
Попытался залогиниться через Яндекс. Яша меня опознал и вернул на сайт. Сайт выдал:
Invalid CAPTCHA token.
Имя пользователя содержит недопустимый символ.
Вы должны указать адрес электронной почтыl.
OpenID registration failed for the reasons listed. You may register now, or if you already have an account you can log in now and add your OpenID under "My Account"

PS. Мой логин на яндексе: vlad-savitsky

Аватар пользователя seaji seaji 28 марта 2009 в 16:58

Ну да, это стандартное поведение системного модуля OpenID.
В первый раз нужно будет указать свое имя пользователя и мыло. После этого вход будет чисто через провайдера OpenID.

Аватар пользователя tyred tyred 28 марта 2009 в 17:16

хорошая штука, поставил бы себе.

Но! ошибка после выбора того же "Яндекс" как у VladSavitsky смущает очень.

После выбора ввода имейла и капчи, оказывается, что и логин неправильно введен: выглядит он как http://openid.yandex.ru/username, т.е. нужно догадаться и сменить просто на username .. вообщем через три обновления страницы, если все будет хорошо, я попадаю на сайт.

Обычная регистрация у меня займет меньше времени.

Аватар пользователя seaji seaji 28 марта 2009 в 18:15

Этот модуль зависит от модуля OpenID, т.к. он сам не создает нужных таблиц, а пользуется таблицами модуля OpenID.
Он особенно актуален для тех, кто уже пользуется этим модулем.

ЗЫ. Вот Вы говорите, что обычная регистрация займет меньше времени, а у меня вопрос, в случае обычной регистрации Вы что выберите себе логин вида http://openid.yandex.ru/username ???
К тому же, на самой первой странице Вам было ясно сказано, что логин содержит недопустимые символы и его нужно поменять.

И все таки, по поводу удобства я думаю, что это очень индивидуально. Кто то любит запоминать кучу логинов и паролей, а кто то предпочел бы пользоваться одним логином и паролем. :)

Аватар пользователя pro-online.ru pro-online.ru 28 марта 2009 в 19:18

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

Объясню, зачем это нужно. Я хочу дать возможность оставлять комменты посетителям, у которых есть какой-нибудь OpenID, но запретить комментирование анонимам. Например, в качестве меры защиты от спама.

Аватар пользователя seaji seaji 28 марта 2009 в 21:28
"<a href="mailto:alergi@drupal.org">alergi@drupal.org</a>" wrote:

А можно ещё как-нибудь к стандартному блоку входа добавить пункт выбора провайдера?

Да, можно, но у меня уже нет времени этим заняться.
Смотрите в моем модуле функцию openlogin_form_alter() Если немного ее подправите, то можно сделать и это.

"pro-online.ru" wrote:

Например, в качестве меры защиты от спама

В Друпале такой функциональности нет, но вот в ворд прессе есть, значит такое возможно сделать.
Вообще системный модуль openid сыроват.

Аватар пользователя seaji seaji 30 марта 2009 в 21:41

Молодцы ребята из службы поддержки моего хостинга (Гудзон Хост), хватило одного письма и они пересобрали PHP с поддержкой openssl. И это не смотря на то, что у меня тариф 4 у.е в месяц. :)
Теперь работает вход через гугл.

Аватар пользователя andypost@drupal.org andypost@drupal.org 5 апреля 2009 в 20:38
"pro-online.ru" wrote:

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

Вообще-то openid (стандартный модуль) именно так и работает

Аватар пользователя seaji seaji 5 апреля 2009 в 21:59

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

Аватар пользователя pro-online.ru pro-online.ru 23 апреля 2009 в 18:57

Я думаю, не нужно ограничиваться комментариями.

Мне, допустим, мое имя пользователя на каком-то сайте нафиг не нужно. Я хочу две вещи:

1. Логиниться с помощью OpenID.
2. Использовать свое настоящее имя (например, с помощью модуля RealName).

Ни про какие юзернэймы и пассворды я знать ничего не хочу. Почтовый адрес тоже не желаю оставлять. Что там еще обычно в профиле требуют? Ничего больше не хочу. Только имя, под которым меня видят другие пользователи, и OpenID для аутентификации. Ну, возможно, еще фотография, — хотя это уже исключительно на добровольной основе.

Создать на Д такой сайт пока нельзя именно в силу несовершенства поддержки OpenID.

UPD: Пардон, кажется, уже можно. См. ниже.

Аватар пользователя seaji seaji 10 апреля 2009 в 1:01

Я бы очень хотел. Но тут встают две проблемы.

Во первых, это мой, не удачный, опыт общения с CVS репозиторием друпал.орга. Когда я попытался выложить перевод D6 и в итоге пообломал все копья.
Подробности здесь: http://drupal.ru/node/16160

Во вторых. Как я понял, на drupal.org принимают только патчи в их классическом виде. Т.е. если ты пишешь, что в таком-то файле нужно поменять эти стороки на другие, то они это не понимают. И важнее всего оказывается не польза для пользователей, а то, что бы патч был бы оформлен в классическом стиле.
Допустим, вот тут: http://drupal.org/node/351287
я выложил важный патч для pathauto, буду краток, меня послали в Ж...

Блин, ну не умею я создавать патчи или пользоваться репозиторием, так что я полное г.?
И не то, что бы я просто не умею и все..., так ведь я пытался это сделать, но убив на это два-три часа я больше не могу себе позволить тратить на это свое время, слишком много более важных дел.

Аватар пользователя STINGER STINGER 3 сентября 2009 в 21:28

Отличный модуль! Как раз то, что я искал! Врубаешь свободную регистрацию, отрубаешь всякие каптчи, и все, учетки свободно создаются на основе OpenID данных.
Можно вообще стандартную друпаловскую регистрацию отрубить, чтобы боты не регались свободно.

Аватар пользователя seaji seaji 4 сентября 2009 в 21:35

Да, я читал эту статью.
Стоит отметить, что поддержка OpenID в Друпале сыровата.
Вроде как все работает, но существует множество мелочей, которые портят жизнь.

Аватар пользователя afishi afishi 5 сентября 2009 в 21:42

я себе ставил... этот модуль.. и он даже работал.. а сейчас. нажимаешь. и ничего.. нет возможнсоти зайти через ОпенИд.

Аватар пользователя seaji seaji 19 мая 2010 в 14:58
"<a href="mailto:andypost@drupal.org">andypost@drupal.org</a>" wrote:

Ну как прогресс с выкладыванием модуля на drupal.org ?

А оно нужно? Как считаешь?

Аватар пользователя andypost@drupal.org andypost@drupal.org 19 мая 2010 в 16:28

Я полагаю, что давно стоит приделать openid "человеческое" лицо...
На сегодняшний день я не вижу ни одного модуля для удобного ведения контактов в других социалках и одновременной возможностью авторизации при их помощи.

Надеюсь, что сией модуль в купе с Модуль В Контакте положит начало...

Аватар пользователя Химический Али Химический Али 24 мая 2010 в 15:20

У модуля (и, наверное, всего OpenID) есть один большой недостаток. Вот он:


Достаточно было просто перенаправлять юзера на сайт openid-провайдера, где он зарегистрирован (кликом по логотипу, например) и получать оттуда ответ. Зачем вводить непосредственно урл-идентификатор (и вообще что бы то ни было) мне совершенно непонятно.

Аватар пользователя seaji seaji 14 июня 2010 в 18:41
"Химический Али" wrote:

Достаточно было просто перенаправлять юзера на сайт openid-провайдера, где он зарегистрирован (кликом по логотипу, например)

В моем модуле именно так и происходит.
Вы кликаете на провайдере и тут же осуществляется вход.

Аватар пользователя seaji seaji 10 ноября 2015 в 11:46

Спешу всех поздравить.
Я причесал более менее этот модуль, теперь он стал похож на человека.

- выкинул из модуля всю OpenID функциональность. Теперь он умещается в сотню строк.
необходимость подтягивать функциональность была в хаке для гугла. Теперь этот хак не требуется :)

- исправил некоторые мелкие, но досадные баги.

Теперь это чисто JS виджет для выбора провайдера OpenID
список провайдеров гибко настраивается в конфигурационном файле.

скрестив этот модуль с vk_openapi и fbconnect можно сделать такую, прикольную менюшку:

код здесь: http://drupal.ru/node/45088?page=1#comment-245638

UPD. Да, чуть не забыл сам модуль прикрепить :)

Аватар пользователя STINGER STINGER 15 июня 2010 в 16:58

Круто! Сейчас попробую поставить. Еще б сюда Twitter и MySpace и вообще шик был бы.
На Drupal.org не думаете релизить?

Аватар пользователя afishi afishi 20 июня 2010 в 19:38

и все же реально ее с майл.ру доделать? + добавить одноклассники?
и зачесать в 5 варианте?

Аватар пользователя seaji seaji 20 июня 2010 в 23:39

По поводу майл.ру дам небольшой инсайд.
По моим каналам стало известно, что в скором будущем что то грядет :)
Не только относительно Друпала, а вообще.
Как говорится, "следите за новостями".

Аватар пользователя afishi afishi 21 июня 2010 в 1:15

Когда дадите Инсайд?
Инсайд — несколько оттянутый назад игрок линии атаки, расположенный между крайним и центральным нападающими. Инсайд — в английской футбольной терминологии „внутренний“ или „полусредний нападающий“.
Инсайд – это внутренне наполнение чего либо, содержание. Может быть инсайд договора, книги, рекламы, сообщения и так далее.

Ну есть же данные по майлу?! А что на счет одноклассника?

Аватар пользователя seaji seaji 21 июня 2010 в 13:45

Я уже сказал.
Мейлом.ру будет организовано некоторое мероприятие.
Какое точно, пока не совсем ясно.
Ждите новостей.

Аватар пользователя afishi afishi 21 июня 2010 в 18:00

я знаю что одноклассники майл и ICQ - объеденяться.... но это не значит что мы должны ждать годы!

Аватар пользователя Geldora Geldora 21 июня 2010 в 19:16

да, осталось только вход по мейл.ру АПИ сделать и будет вообще - сказка!

Насечт однокласников, разве они тоже открыли АПИ?

Сейаджи, спасибо вам большое :)