Рейтинг@Mail.ru
загрузкаидет загрузка

Плагин «auth_loginza :: Вход через OpenID» для NG CMS

plugin-loginza-ngcms-1.png


Теперь авторизоваться с помощью Loginza можно и на сайтах с NG CMS. Плагин не является самостоятельным модулем авторизации, а работает лишь, как дополнение к одному из уже работающих плагинов, например auth_basic.

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

Также требуется самая последняя версия 0.9.2 из SVN, как минимум нужен новый плагин comments.

История версий
[0.2.1][2011-02-03] [скачать]
* фикс providers.ini

[0.2][2011-02-02] [скачать]
+ добавлена возможность привязки аккаунтов
для существующих пользователей (шаблоны
append.account.success и append.account.error)
+ добавлена возможность изменения/удаления
привязанного аккаунта
+ добавлен шаблон register.error.tpl для вывода
сообщений об ошибках при регистрации
+ добавлен шаблон register.success.tpl для вывода
сообщения об успешной регистрации

[0.1][2011-01-29] [скачать]
+ первый публичный релиз


1. В первую очередь необходимо в \templates\%ваш_шаблон%\usermenu.tpl подключить JavaScript виджет:
<script src="http://loginza.ru/js/widget.js" type="text/javascript"></script>

В этом же файле необходимо разместить ссылку, при нажатии на которую будет всплывать окошко с набором провайдеров для авторизации, например:
<a href="http://loginza.ru/api/widget?token_url=[RETURN_URL]" class="loginza">
<img src="/engine/plugins/auth_loginza/tpl/img/sign_in_button_gray.gif" alt="Войти через loginza"/>
</a>

RETURN_URL - это ссылка такого типа http://ваш_домен.ру/plugin/auth_loginza/

Если вы не хотите выводить всех провайдеров, а только избранных, то на помощь приходит параметр providers_set (если используется несколько значений, перечислите их через зяпятую): google, yandex, mailruapi, mailru, vkontakte, facebook, twitter, loginza, myopenid, webmoney, rambler, flickr, lastfm, verisign, aol, steam, openid.

Ссылка выше будет выглядеть как
http://loginza.ru/api/widget?token_url=http://ваш_домен.ру/plugin/auth_loginza/&providers_set=vkontakte,twitter,google,yandex,mailru,facebook,openid

plugin-loginza-ngcms-2.png (7.17 Kb)


Также виджет мультиязычный: поддерживается три языка русский - ru, украинский - uk и английский - en.

Использовать по аналогии
http://loginza.ru/api/widget?token_url=http://ваш_домен.ру/plugin/auth_loginza/&lang=ru

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

Тут возникает самый первый вопрос, а не генерировать ли эту ссылку самому, чтобы в usermenu.tpl можно
было просто вставить переменную loginza_link? Но плагин вообще хорош тем, что вставить ссылку можно в любое место, например в комментарии таким образом: (да и вообще в любое место, хоть в news.short.tpl)

в \templates\%ваш_шаблон%\plugins\comments\comments.form.tpl вставить блок

<script src="http://loginza.ru/js/widget.js" type="text/javascript"></script>
Также Вы можете войти используя:
<a href="https://loginza.ru/api/widget?token_url=[RETURN_URL]" rel="nofollow" class="loginza">
    <img src="/engine/plugins/auth_loginza/tpl/img/yandex.png" alt="Yandex" title="Yandex">
    <img src="/engine/plugins/auth_loginza/tpl/img/google.png" alt="Google" title="Google Accounts">
    <img src="/engine/plugins/auth_loginza/tpl/img/vkontakte.png" alt="Вконтакте" title="Вконтакте">
    <img src="/engine/plugins/auth_loginza/tpl/img/mailru.png" alt="Mail.ru" title="Mail.ru">
    <img src="/engine/plugins/auth_loginza/tpl/img/twitter.png" alt="Twitter" title="Twitter">
    <img src="/engine/plugins/auth_loginza/tpl/img/loginza.png" alt="Loginza" title="Loginza">
    <img src="/engine/plugins/auth_loginza/tpl/img/myopenid.png" alt="MyOpenID" title="MyOpenID">
    <img src="/engine/plugins/auth_loginza/tpl/img/openid.png" alt="OpenID" title="OpenID">
    <img src="/engine/plugins/auth_loginza/tpl/img/webmoney.png" alt="WebMoney" title="WebMoney">
</a>

plugin-loginza-ngcms-3.png (11.93 Kb)


Ну или в login.tpl или Ну или в login.tpl или registration.tpl вставить
<iframe src="http://loginza.ru/api/widget?overlay=loginza&token_url=[RETURN_URL]" style="width:359px;height:300px;" scrolling="no" frameborder="no"></iframe>

Вариантов масса.

2. Далее при нажатии на ссылку открывается окно выбора провайдера. Мы выбираем одного из предложенных, Логинза отправляет нас на его сайт, там мы подтверждаем что мы это мы и в результате нам приходят данные о пользователе. Тут начинается самое интересное.

loginza-2.png (37 Kb)


3. При установке плагин добавляет в таблицу *_users свое поле, в котором хранит идентификатор пользователя. Если присылаемый идентификатор уже привязан к какому-то пользователю, то мы без вопросов его авторизуем.

Если нет, то мы показываем ему упрощенную форму регистрации.

plugin-loginza-ngcms-4.png (12.07 Kb)


Зачем вообще нужна форма регистрации? Лично меня дико раздражает, когда сайт генерирует никнейм автоматически на основе идентификатора и не дает выбрать его самостоятельно. Например zhukov-alexey-open-id. А если взять Гугловский идентификатор, то там вообще темный лес из 30 символов нечитаемого формата.

Поэтому плагин подбирает никнейм на основе определенных данных, но дает его откорректировать. Также создаем произвольный пароль, сохраняя возможность для входа, используя стандартную пару логин/пароль. И если провайдер не отдал email также предлагаем его ввести, но это совершенно не обязательно. По крайней мере пока.

Интеграция с комментариями сайта (плагин comments)


Для тех учетных записей, у которых есть привязка профиля к одному из сервисов, в шаблоне \templates\ваш_шаблон\plugins\comments\comments.show.tpl становится доступна переменная loginza_icon, являющаяся пиктограммой этого сервиса. В файле providers.ini уже прописаны все основные сервисы в формате домен = имя_картинки. Его можно дополнять на свой вкус.

Интеграция с профилем (плагин uprofile)


В шаблоне \templates\ваш_шаблон\plugins\uprofile\users.tpl доступна переменная loginza_account,
являющаяся ссылкой на идентификатор.

Также есть условный блок if-loginza, содержимое которого отображается только в случае наличия идентификатора.

В шаблоне \templates\ваш_шаблон\plugins\uprofile\profile.tpl доступна переменная loginza_account,
являющаяся ссылкой на идентификатор.

Также есть условные блоки:
* if-loginza, содержимое которого отображается только в случае наличия идентификатора/
В этот блок удобно брать ссылку на удаление привязанного аккаунта. Она имеет вид
/plugin/auth_loginza/delete/ Или на изменение аккаунта, ссылка идентична ссылке
для авторизации

* if-not-loginza - в случае отсутствия идентификатора. В этот блок удобно брать ссылку
на вход по аналогии с usermenu.tpl. Если такой идентификатор уникален на сайте, то
даем зеленый свет, привязываем аккаунт и показываем содержимое append.account.tpl
Если кто-то уже зарегистрировался с этой учетной записи, то показываем
append.account.error.tpl

Отблагодарить меня можно по следующим реквизитам:

http//digitalplace.ru/images/static/webmoney.png WebMoney: Z185759217217 и R128203457262

http//digitalplace.ru/images/static/yandexmoney.png Яндекс.Деньги: 41001246158060

Комментарии:
  • RocketBoy
  • 30.01.2011 - 02:41 / RocketBoy
  • Спасибо за плагин! 100% полезная весчь.
    Все умчал тестить :)

  • 1.02.2011 - 13:36 / khadorkin provider_img}
  • Спасибо! Действительно очень полезный плагин!

  • 1.02.2011 - 13:39 / khadorkin provider_img}
  • Но определенно, что-то работает не так, на форума NG скину скрины..((

  • Wolverine
  • 3.02.2011 - 00:02 / Wolverine
  • Починил и добавил плюшек :)


  • 20.07.2011 - 16:17 / МАРК
  • а у меня не работает. идёт редирект на ../path/result.php

  • 12.07.2015 - 02:49 / 576438 provider_img}
  • Ничего не работает!!!
    Вы даже не поняли сам принцип авторизации Openid
    Не должно быть никакой повторной регистрации с импортом части инфомации из OpenID
    Пользователь должен быть автоматически зарегистрирован при вводе логина OpenID
    Ваабще жесть
    Ка вы только с такими познаниями до NGCMS доросли - странно как-то
    Ответ от Wolverine: Привет. Прошло конечно уже 4 года с момента написания мною данного плагина, но сделано это было не просто так. Эта работа не является самостоятельным модулем авторизации, а работает вкупе с auth_basic. Всего хорошего.

  • 28.07.2017 - 19:52 / LarryPotte
  • Рады предложить вам инновационное средство для снижения веса сироп Мангустина. С ним реально избавиться от 10 kg за 14 суток.

    Дерево мангостан произрастает на Шри-Ланке. Плоды этого растения обладают удивительными свойствами, которые были взяты за основу средства Mangoosteen. Во флаконе имеется около 25 плодов этого удивительного дерева. Плоды дерева мангустин помогают убрать лишнюю липидную ткань. И также положительно влияют на организм в целом. Технология производства средства, а также специальная упаковка помогают сберечь все удивительные свойства дерева.

    Основным веществом сиропа Mangoosteen являются фрукты с дерева мангкут, в них содержится огромное количество полезных элементов. Благодаря компоненту окиси дифениленкетона, которое в огромных количествах имеется во фрукте, сильно замедляются окислительные процессы в организме. Ксантон признана одним из самых сильных антиоксидантов. В плодах растения мангкут вдобавок есть разнообразные витамины и микроэлементы. Приобрести сироп Mangoosteen возможно на веб-сайте http://mangoo77.mangoosteen.com.


  • 28.07.2017 - 20:20 / Jameswhave
  • u <a href= http://paydayzec.com >instant personal loans online</a> whose <a href=http://paydayzec.com>instant personal loans online</a> payday loans no credit check

  • 28.07.2017 - 20:24 / Donalddab
  • j <a href= http://paydayzec.com >payday loans online</a> went <a href=http://paydayzec.com>instant personal loans online</a> payday loans no credit check
    m <a href= http://viagrazec.com >buy viagra online</a> cut <a href=http://viagrazec.com>viagra online</a> viagra without prescription
    u <a href= http://prednisonezec.com >order prednisone</a> tea <a href=http://prednisonezec.com>prednisone pharmacy</a> prednisone

  • 28.07.2017 - 20:27 / Michaelmow
  • o <a href= http://paydayzec.com >payday loans</a> near <a href=http://paydayzec.com>payday loans no credit check</a> payday loans
    i <a href= http://viagrazec.com >buy viagra online</a> grave <a href=http://viagrazec.com>viagra without prescription</a> buy viagra online
    j <a href= http://canadianpharmacyzec.com >canadian pharmacy</a> waited <a href=http://canadianpharmacyzec.com>canadian pharmacy</a> canadian pharmacies online prescriptions

  • 28.07.2017 - 20:34 / JamesCag
  • y <a href= http://levitrazec.com >levitra coupons</a> entered <a href=http://levitrazec.com>levitra without prescription</a> levitra 20 mg tablets

  • 28.07.2017 - 20:35 / AndrewHic
  • j <a href= http://paydayzec.com >payday loans</a> time <a href=http://paydayzec.com>payday loans no credit check</a> payday loans no credit check


  • 28.07.2017 - 21:07 / RobertSib
  • l <a href= http://cialiszec.com >buy cialis online</a> wrote <a href=http://cialiszec.com>cialis coupon</a> cialis purchasing

  • 28.07.2017 - 21:12 / Michaelmow
  • w <a href= http://prednisonezec.com >prednisone online</a> journey <a href=http://prednisonezec.com>prednisone online</a> prednisone coupons
    l <a href= http://canadianpharmacyzec.com >canada pharmacy</a> could <a href=http://canadianpharmacyzec.com>canada pharmacy</a> canadian pharmacy cialis
    w <a href= http://viagrazec.com >viagra online</a> health <a href=http://viagrazec.com>viagra without prescription</a> viagra coupons


  • 28.07.2017 - 21:26 / Antonefes
  • k <a href= http://cialiszec.com >buy cialis online</a> friend <a href=http://cialiszec.com>cialis prices</a> cialis lowest price

  • 28.07.2017 - 21:28 / AndrewHic
  • l <a href= http://levitrazec.com >levitra online</a> countenance <a href=http://levitrazec.com>levitra online</a> levitra coupons

  • 28.07.2017 - 21:33 / RobertSib
  • n <a href= http://cialiszec.com >buy cialis</a> understood <a href=http://cialiszec.com>cialis lowest price</a> cialis

  • 28.07.2017 - 21:40 / JamesCag
  • f <a href= http://prednisonezec.com >prednisone online</a> rose <a href=http://prednisonezec.com>order prednisone</a> cheap prednisone

  • 28.07.2017 - 21:50 / Donalddab
  • x <a href= http://viagrazec.com >buy viagra online</a> however <a href=http://viagrazec.com>viagra online</a> viagra coupons
    g <a href= http://canadianpharmacyzec.com >canada pharmacy</a> case <a href=http://canadianpharmacyzec.com>canadian pharmacy viagra</a> canada pharmacy
    m <a href= http://prednisonezec.com >prednisone online</a> nobody <a href=http://prednisonezec.com>cheap prednisone</a> order prednisone

  • 28.07.2017 - 21:58 / Michaelmow
  • e <a href= http://paydayzec.com >instant personal loans online</a> forth <a href=http://paydayzec.com>payday loans</a> payday loans
    d <a href= http://modafinilzec.com >modafinil for sale</a> sad <a href=http://modafinilzec.com>modafinil</a> buy provigil online
    z <a href= http://viagrazec.com >buy viagra online</a> since <a href=http://viagrazec.com>buy viagra</a> viagra sale


  • 28.07.2017 - 22:20 / AndrewHic
  • c <a href= http://paydayzec.com >personal loans</a> fond <a href=http://paydayzec.com>personal loans online</a> instant personal loans online


  • 28.07.2017 - 22:37 / Antonefes
  • y <a href= http://viagrazec.com >viagra coupons</a> become <a href=http://viagrazec.com>viagra without prescription</a> viagra without prescription

  • 28.07.2017 - 22:43 / Michaelmow
  • w <a href= http://prednisonezec.com >buy prednisone</a> meaning <a href=http://prednisonezec.com>order prednisone</a> order prednisone
    q <a href= http://levitrazec.com >levitra without prescription</a> are <a href=http://levitrazec.com>buy levitra</a> levitra coupons
    k <a href= http://modafinilzec.com >modafinil cost</a> speak <a href=http://modafinilzec.com>modafinil for sale</a> buy provigil online


  • 28.07.2017 - 22:48 / Donalddab
  • d <a href= http://paydayzec.com >payday loans</a> continued <a href=http://paydayzec.com>payday loans no credit check</a> payday loans for bad credit
    b <a href= http://canadianpharmacyzec.com >canadian pharmacy online</a> letter <a href=http://canadianpharmacyzec.com>canadian pharmacy viagra</a> canadian pharmacy viagra
    a <a href= http://levitrazec.com >levitra without prescription</a> stood <a href=http://levitrazec.com>levitra 20 mg tablets</a> levitra coupons

  • 28.07.2017 - 22:49 / RobertSib
  • z <a href= http://canadianpharmacyzec.com >canadian pharmacy online</a> no <a href=http://canadianpharmacyzec.com>canadian pharmacies shipping to usa</a> canadian pharmacy viagra

  • 28.07.2017 - 23:08 / Jameswhave
  • d <a href= http://paydayzec.com >instant personal loans online</a> yet <a href=http://paydayzec.com>personal loans online</a> payday loans

  • 28.07.2017 - 23:13 / AndrewHic
  • w <a href= http://cialiszec.com >buy cialis online</a> considered <a href=http://cialiszec.com>buy cialis online</a> buy cialis

  • 28.07.2017 - 23:14 / RobertSib
  • l <a href= http://cialiszec.com >cialis lowest price</a> otherwise <a href=http://cialiszec.com>cialis</a> cialis prices

  • 28.07.2017 - 23:28 / Michaelmow
  • t <a href= http://paydayzec.com >personal loans</a> into <a href=http://paydayzec.com>personal loans</a> payday loans for bad credit
    h <a href= http://viagrazec.com >viagra without prescription</a> I'll <a href=http://viagrazec.com>viagra without prescription</a> viagra
    j <a href= http://canadianpharmacyzec.com >canada pharmacy</a> kind <a href=http://canadianpharmacyzec.com>canada pharmacy</a> canadian pharmacies online prescriptions


  • 28.07.2017 - 23:45 / Antonefes
  • t <a href= http://canadianpharmacyzec.com >canadian pharmacies online prescriptions</a> note <a href=http://canadianpharmacyzec.com>canadian pharmacy</a> canadian pharmacy viagra

  • 28.07.2017 - 23:45 / Donalddab
  • r <a href= http://modafinilzec.com >provigil</a> quiet <a href=http://modafinilzec.com>modafinil</a> provigil
    n <a href= http://viagrazec.com >viagra online</a> strange <a href=http://viagrazec.com>buy viagra</a> viagra online
    h <a href= http://levitrazec.com >levitra 20 mg tablets</a> several <a href=http://levitrazec.com>levitra without prescription</a> levitra

  • 28.07.2017 - 23:50 / JamesCag
  • g <a href= http://modafinilzec.com >buy provigil online</a> word <a href=http://modafinilzec.com>buy provigil online</a> buy provigil online

  • 29.07.2017 - 00:04 / RobertSib
  • v <a href= http://cialiszec.com >cialis</a> had <a href=http://cialiszec.com>buy cialis online</a> cialis lowest price

  • 29.07.2017 - 00:06 / AndrewHic
  • i <a href= http://paydayzec.com >payday loans</a> yes <a href=http://paydayzec.com>payday loans</a> personal loans

  • 29.07.2017 - 00:15 / Donalddab
  • o <a href= http://levitrazec.com >levitra</a> after <a href=http://levitrazec.com>levitra without prescription</a> levitra online
    a <a href= http://viagrazec.com >viagra</a> within <a href=http://viagrazec.com>viagra without prescription</a> viagra without prescription
    r <a href= http://modafinilzec.com >provigil</a> arms <a href=http://modafinilzec.com>provigil coupon</a> buy modafinil

  • 29.07.2017 - 00:16 / Michaelmow
  • d <a href= http://paydayzec.com >payday loans</a> let <a href=http://paydayzec.com>payday loans for bad credit</a> instant personal loans online
    e <a href= http://canadianpharmacyzec.com >canada pharmacy</a> true <a href=http://canadianpharmacyzec.com>canadian pharmacy viagra</a> canadian pharmacy viagra
    k <a href= http://modafinilzec.com >modafinil cost</a> history <a href=http://modafinilzec.com>buy modafinil</a> buy provigil online

  • 29.07.2017 - 00:30 / RobertSib
  • k <a href= http://viagrazec.com >buy viagra online</a> when <a href=http://viagrazec.com>buy viagra</a> viagra without prescription

  • 29.07.2017 - 00:45 / Donalddab
  • c <a href= http://levitrazec.com >levitra</a> sit <a href=http://levitrazec.com>levitra without prescription</a> buy levitra
    p <a href= http://paydayzec.com >payday loans for bad credit</a> do <a href=http://paydayzec.com>personal loans</a> payday loans no credit check
    x <a href= http://prednisonezec.com >prednisone coupons</a> early <a href=http://prednisonezec.com>prednisone</a> cheap prednisone

  • 29.07.2017 - 00:55 / Antonefes
  • d <a href= http://viagrazec.com >viagra sale</a> stopped <a href=http://viagrazec.com>buy viagra online</a> viagra online

  • 29.07.2017 - 00:56 / RobertSib
  • q <a href= http://viagrazec.com >buy viagra online</a> therefore <a href=http://viagrazec.com>viagra sale</a> viagra

  • 29.07.2017 - 00:57 / JamesCag
  • r <a href= http://modafinilzec.com >buy modafinil</a> tired <a href=http://modafinilzec.com>buy provigil online</a> buy modafinil



последние комментарии

Ooooops

Looks like Twitter's feed isn't working at the moment.