Мое мнение о Loginza

Дата публикации: Июнь 28, 2011 - 12:49:40, вт

Loginza – это система идентификации, обеспечивающая единый доступ к популярным WEB-сервисам.

Преимущество такой системы – это прозрачная авторизация на всех web-сервисах, который предоставляет эта система.

На момент написания статьи Loginza поддерживает следующих провайдеров авторизации: google, yandex, mailruapi, mailru, vkontakte, facebook, twitter, loginza, myopenid, webmoney, rambler, flickr, lastfm, verisign, aol, steam, openid. Из существенных недостатков стоит отметить отсутствие поддержки некоторых известных ресурсов, например – livejournal.

По поводу прозрачности работы – здесь придется немного повозиться. Это связано с тем, что провайдеры зачастую имеют разный формат данных. Ниже пример php-скрипта, который обрабатывает входные данные от Loginza (после того, как пользователь успешно авторизовался с помощью одного из доступных провайдеров):

  1. if (!isset($_POST['token']) || !$_POST['token']) exit('empty token');
  2.        
  3.         $token = $_POST['token'];
  4.        
  5.         $url = 'http://loginza.ru/api/authinfo?token='.$token;
  6.         //.'&id=0000&sig=' . md5($token.'secretkey');
  7.         $response = (array)json_decode(file_get_contents($url));
  8.         //print_r($response);exit;
  9.         if (isset($response['provider'])) {
  10.             $name = '';
  11.             $identity = $response['identity'];
  12.             switch ($response['provider']) {
  13.                 case 'http://vkontakte.ru/':
  14.                 case 'http://www.facebook.com/':
  15.                 case 'http://mail.ru/':
  16.                 case 'https://www.google.com/accounts/o8/ud':
  17.                     $name = $response['name']->first_name . ' '
  18.                           . $response['name']->last_name;
  19.                     break;
  20.                 case 'http://twitter.com/':
  21.                     $name = $response['name']->full_name;
  22.                     break;
  23.                 case 'http://openid.yandex.ru/server/':
  24.                     $name = str_replace(array('http://', '.ya.ru/'), '', $response['identity']);
  25.                     break;
  26.                 default:
  27.                     $name = '';
  28.                     break;
  29.             }
  30. }

Подробно о методах интеграции читаем здесь http://loginza.ru/api-overview.

Есть один момент по поводу интеграции. В арсенале Loginza есть возможность поставить Widget, дизайн которого поменять нельзя (хотя можно отредактировать CSS). Обратите внимание на это, если дизайн виджета совсем не подходит под дизайн сайта. В качестве альтернативы можно этот самый виджет открывать в поп-ап окне, дизайн которого к сожалению поменять вообще нельзя.

Очевидно, что все эти недостатки с малым ассортиментом виджетов, легко выбиваются простотой интеграции. Гораздо выгоднее использовать Loginza, нежели всех провайдеров по отдельности.

На момент написания статьи Loginza имеет плагины для Joomla, Wordpress, Drupal, PhpBB, LiveStreet и CMS Codegear.

Теги: кодинг идеинг php
Просмотров: 702

Комментарии

tonchik™
Июль 7, 2011 - 13:10:00, чт
Обнаружилось нехорошее свойство виджета loginza он не работает в IE6-7 http://forum.loginza.ru/viewtopic.php?f=12&t=22
Wet
Июль 7, 2011 - 13:14:48, чт
Ждем исправлений :)

Что скажете?

Имя:
Код Код с картинки: