/var/log/life.log
Блог программиста из солнечной Бурятии

Авторизация в joomla через социальные сети

Компонент для joomla, при помощи которого можно организовать авторизацию на своём сайте через facebook, вконтакте, mail.ru, одноклассники и т.д. — SocialJLogin
Демо
[download id=»29″] v.1.1.0 совместимо с joomla 2.5<=2.5.6 совместимо с joomla 3.x

Отличие компонента от остальных(например логинзы) в том, что в авторизации не участвует третья сторона, только сайт и социальный сервис.
Сейчас реализована поддержка facebook, вконтакте, mail.ru, odnoklassnki.ru, twitter.com, google и яндекс. Поддержка той или иной сети осуществляется плагинами, поэтому ничего не мешает добавить поддержку нужной сети, основываясь на существующих плагинах. Я постарался предусмотреть все варианты реализации подобных плагинов.

Из функционала:

  • Вход по нажатию одной/двух кнопок, без регистрации
  • Объединение аккаунтов из разных соц сетей в один

Поддержка joomsocial, communitybuilder, virtuematrt и т.д. на данный момент отсутствует.

Изначально компонент планировался как платный, но возиться с лицензиями не захотелось. Поэтому:

  • Он бесплатный
  • Поддержка только joomla 2.5(скорее всего 3.0) и joomla 3.x — работает начиная с 2.5.6
  • Ссылка в модуле входа на vampirus.ru
  • В админке реквизиты для донэйта
  • Нет плагина для одноклассников и твиттера
  • Интеграция с jomsocial
  • Компонент готов уже сегодня, а не через нцать месяцев 🙂

Для тех, кому мешает ссылка и реквизиты для донейта, сделал версию без них за 50 руб.

rss поток новостей socialjlogin

Инструкции

Подключение входа через вконтакте
Подключение входа через одноклассники
Подключение входа через facebook
Подключение входа через twitter
Подключение входа через mail.ru
Подключение входа через Google
Подключение входа через Яндекс

Инструкция по созданию плагина авторизации

PS: по поводу vklogin:
Идеи куда развивать есть, времени нет.

128 комментариев на запись «Авторизация в joomla через социальные сети»

  1. Цыба Александр пишет:

    При авторизации ошибка:
    Fatal error: Class ‘JControllerLegacy’ not found in …wwwcomponentscom_socialjloginsocialjlogin.php on line 5

  2. Цыба Александр пишет:

    Это не правильное описание контроллера.
    Нужно:
    Строку «$controller = JControllerLegacy::getInstance(‘Socialjlogin’);»
    Заменить на:
    require_once( JPATH_COMPONENT.DS.’controller.php’ ); if($controller = JRequest::getWord(‘controller’)) { $path = JPATH_COMPONENT.DS.’controllers’.DS.$controller.’.php’; if (file_exists($path)) { require_once $path; } else { $controller = »; }}
    $classname = ‘SocialjloginController’.$controller;$controller = new $classname();

    В файле controller.php строку class SocialjloginController extends JControllerLegacy заменить на class SocialjloginController extends JController

  3. VampiRUS пишет:

    умвр
    в joomla 2.5.6. уже JControllerLegacy идёт

  4. VampiRUS пишет:

    у вас какая версия joomla?

  5. Andrey пишет:

    добрый день! не работает на joomla 2.5.7

  6. VampiRUS пишет:

    В чём выражается?

  7. Vasily пишет:

    установил,нет твитера и одноклассников. и также не отображается аватарка из соц.сетей

  8. VampiRUS пишет:

    Спасибо, забыл самое главное, установщик обновить 🙂

  9. Vasily пишет:

    Спасибо,всё на месте,сейчас проверю работу

  10. Vasily пишет:

    Полёт нормальный) Не подскажешь,как можно прикрутить к phoca galery комменты из контакта и др.социалок?

  11. VampiRUS пишет:

    попробуйте http://ru.cackle.me/welcome

  12. Prosto-Chups пишет:

    Забыли одну из основных:
    Google
    Почта от гугля есть у очень многих и OAuth тоже есть…

  13. Prosto-Chups пишет:

    Забыли одну из основных:
    Google
    Почта от гугля есть у очень многих и OAuth тоже есть…

  14. Guest пишет:

    Забыли одну из основных:
    Google
    Почта от гугля есть у очень многих и OAuth тоже есть…

  15. Guest пишет:

    Забыли одну из основных:
    Google
    Почта от гугля есть у очень многих и OAuth тоже есть…

  16. Prosto-Chups пишет:

    Забыли одну из основных:
    Google
    Почта от гугля есть у очень многих и OAuth тоже есть…

  17. VampiRUS пишет:

    Не забыл, просто нужно время чтобы его сделать.

  18. Rejisser пишет:

    Установил его и у меня выдает ошибку при нажатие на иконки любой соц сети .. кроме маил ..
    Fatal error: Class ‘JControllerLegacy’ not found in /home/rejisser/html/components/com_socialjlogin/socialjlogin.php on line 5

  19. VampiRUS пишет:

    Видимо joomla < 2.5.6

  20. Rejisser пишет:

    2.5.7 У меня .. И что делоть ?

  21. Rejisser пишет:

    Как можно решить эту проблему ?

  22. VampiRUS пишет:

    попробуйте обновить joomla вручную http://joomlacode.org/gf/download/frsrelease/17409/76018/Joomla_2.5.x_to_2.5.7-Stable-Patch_Package.zip
    там такой клвсс используется и не должно быть проблем

  23. Rejisser пишет:

    Все. теперь пишет имя занято а через маил пишет маил занят .О_о но создает пользователя

  24. VampiRUS пишет:

    Видимо пользователь был создан но не до конца из-за ошибки, а сейчас пользователь уже создасться не может так как есть уже пользовательс таким именем

  25. Rejisser пишет:

    Все верно я сейчас попробывал зайти через другой контакт и все норм получилось .. что посоветуете сделать с первым акуантом ?

  26. VampiRUS пишет:

    удалить

  27. Rejisser пишет:

    Я удолял .. видать где то еще сохроняется либо кеш .

  28. VampiRUS пишет:

    только ещё в таблице socialjlogin

  29. Rejisser пишет:

    Я только начал работать с joomla , где найти socialjlogin?

  30. VampiRUS пишет:

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

  31. achyorny пишет:

    Fatal error: Cannot use object of type stdClass as array in /home/korella/public_html/plugins/socialjlogin/mailru/mailru.php on line 64

  32. VampiRUS пишет:

    а на демо такая ошибка возникает?

  33. Serg Dunaev пишет:

    Прекрасный пакет, спасибо, но авторизация через Twitter не катит, выдает ошибку: Desktop applications only support the oauth_callback value ‘oob’/oauth/request_token
    Consumer key и Secret key для Twitter установлены.
    В OAuth tool Твиттера Access token и Access token secret также сгенерированы.
    Сайт Joomla 2.5.7 PHP 5.3.8

  34. VampiRUS пишет:

    Нужно в callback url в настройках приложения твиттера что-нибудь указать, например адрес сайта

  35. Денис пишет:

    Добрый день.. Спасибо за такой отличный компонент! Такой вопрос: при авторизации через вконтакт у пользователя создается учетка и email стоит вида *****@vk.com Т.е. это не исходный email пользователя. можно както сделать чтобы подцеплялся правильный email?

  36. VampiRUS пишет:

    вконтакте не отдаёт email

  37. Vadim Kamenev пишет:

    Вечер добрый. Установил 1.0.1 а плагина для Google нет 🙁

  38. VampiRUS пишет:

    Потому как там ещё нету 🙂
    я хочу ссылки на инструкции в админку добавить, чтобы добавить ссылки нужно инструкции создать 🙂
    Скоро будет, осталось инструкцию для яндекса ещё написать.

  39. VampiRUS пишет:

    Теперь есть.

  40. VampiRUS пишет:

    Шутник, ага 🙂
    Он только по этому и бесплатный. Донейты всёравно никто не шлёт.

  41. Виталий пишет:

    А когда будет поддержка Jomsocial?

  42. VampiRUS пишет:

    Были планы на версию 1.0.2, но решил выложить раньше. Будет в следующей версии, сроков только пока сам не знаю.

  43. Виталий пишет:

    Здорово, будем ждать.
    Спасибо.

  44. Tetyana Shevchenko пишет:

    Ошибка при авторизации В контакте:
    500
    No HTTP response code found.
    The Page you are looking for doesn’t exist or an other error occurred.
    Go back, or head over to the home page to choose a new direction.

  45. Vladimir Nikonov пишет:

    Нужен CURL + ssl

  46. Nikolay Litvinov пишет:

    Скачивается, как и надо, 1.1.0, а надпись около ссылки не обновили.
    Настраивал сейчас по инструкции вход через соцсети и сделал вывод, что за такую скрупулёзность вас просто необходимо поощрять.

  47. VampiRUS пишет:

    спасибо, забыл поменять

  48. Nikolay Litvinov пишет:

    В 1.1.0 языковые папки указаны только в xml для Facebook.

  49. VampiRUS пишет:

    вроде бы всё на месте.

  50. Дима пишет:

    А как узнать базовый домен своего сайта? Сайт на free хостинге от byehost.com Адресс
    сайта хххх.my.org регистрировалса как sub domen?

  51. VampiRUS пишет:

    xxx.my.org

  52. Дима пишет:

    Спасибо за ответ и за Ваш труд. Возникли следующие проблемы: сайт под Joomla 2.5 + K2
    1. При входе на сайт через аккаунт гугл выскакивает ошибка что пльзователь с такой почтой есть и авторизации не происходит
    2. При авторизации через вконтакте: 500 — No HTTP response code found.

  53. Дима пишет:

    Проблема с 1: если есть юзер что зарегилса под именем «1» с почтой «1@gmail.com» и потом авторизируетса через google, а в аккаунте гугл что висит на этой же почте его емя «2» — то регистрация не пройдет — конфликт логинов. как обойти эту проблему?

  54. VampiRUS пишет:

    на данный момент никак.
    А как вы видете решение? обединять аккаунты?
    500 — No HTTP response code found.
    что-то с сетью, через другие нормально авторизация проходит?

  55. Дима пишет:

    Обьединять аккаунты как например в Loginradius и давать юзеру мозможность подключить к мылу соц аккаунт

    с сетью все ок. тут проблема с адрессами установлеными в приложении контакта: адресс сайт + базовый домен. Собственно чего и был это мой первый вопрос. А что не знаю..

  56. Владимир пишет:

    500 — No HTTP response code found.
    Возникает если CURL не поддерживает SSL
    на вашем хостинге

  57. Владимир пишет:

    Спасибо огромное за поддержку jomsocial, сделайте donate webmoney…

    Подскажите как убрать форму входа, мне нужны только иконки для авторизации…?

  58. VampiRUS пишет:

    modules/mod_sjlogin/tmpl/default.php
    в опции вынести попробую.

  59. Владимир пишет:

    Есть ли возможность принудительно писать email, так как рассылка для таких пользователей работать не будет, ну и восстановление пароля, а также группа пользователей по умолчанию, если это не registered?

  60. VampiRUS пишет:

    c email пока не знаю, изначально задумывалось, чтобы по нажатию одной кнопки, подумаю как сделать, чтобы красиво и удобно было.
    группу пользователей при регистрации добавлю в опции.

  61. DEOVER пишет:

    Спасибо за компонент! и особенное спасибо за интеграцию с jomsocial. Я попробовал настроить, н опока что т они как, вылетает белый экран после включения модуля. Т.е. если не включать фейсбук и т.д., а просто модуль включить, то все работает, как только включашь интеграцию с фейсбук белый экран. Если не получится, то обращусь к вам. Ну а так, задонатим разработчику 🙂

  62. DEOVER пишет:

    И еще момент. А можно ли сделать горизонтальное расположение? чтобы был выбор вертикально или горизонтально. Заранее большое человеческое спасибо!

  63. VampiRUS пишет:

    посмотрю, пока можно
    modules/mod_sjlogin/tmpl/default.php 82 строка, там &nbsp заменить на будет вертикально

  64. DEOVER пишет:

    Спасибо. Будем пробовать.
    ПыСы. Кому не жалко, покупайте компонент. 50 руб это не деньги за такую работу. Еще раз спасибо Вампиру 🙂

  65. VampiRUS пишет:

    какая версия joomla?

  66. DEOVER пишет:

    Версия Joomla! 2.5.8. Все соц сети настроил, все норм. Только 2 отвалились, это фейсбук и яндекс. С фейсбуком шаблон пропадает на полстраницы, а яндекс, кодировка в модулях слетает.

  67. VampiRUS пишет:

    Очень интересно. Включите вывод ошибок, может быть какой то конфликт с чем нибудь другим.

  68. Виталий пишет:

    А как можно картинки соц сетей вытащить отдельно, чтобы можно было их установить в любое место на сайте.

  69. VampiRUS пишет:

    $dispatcher = JDispatcher::getInstance();
    JPluginHelper::importPlugin(‘socialjlogin’);
    $icons = $dispatcher->trigger(‘getIcon’);

    получите массив иконок

  70. Виталий пишет:

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

  71. VampiRUS пишет:
  72. Виталий пишет:

    ???

  73. Виталий пишет:

    Вопрос еще актуален…

  74. VampiRUS пишет:

    парсер съел код
    foreach($icons as $icon){echo $icon;}

  75. Виталий пишет:

    Спасибо! Получилось. Дай Бог здоровья Вам.

  76. Андрей пишет:

    Примите мои скромные пожертвования)
    очень часто выпадала ошибка при выходе из пользователя ID=42. Помогло сменой одного юзверя на этот айди. Кстати когда ждать апдейта версии?

  77. VampiRUS пишет:

    Нужно набрать список пожеланий, сделать, протестировать. Пока ещё этап сбора пожеланий фич.

  78. Андрей пишет:

    Не подскажете как всунуть отображение аватаров в ZOO и К2?
    Создал пользователя Джумла, подключил социалки и в ЗОО и К2 не отображает аватар (вернее отображает джумловский пустой).
    И еще… Если в разных социалках разные аватары, существует способ выбора основного для всей записи?

  79. VampiRUS пишет:

    Это плагинами можно сделать, у меня для k2 было в планах, про zoo пока не думал.

  80. Андрей пишет:

    Можно как-то простимулировать ваше желание привязать аватары к К2 и ЗОО??

  81. VampiRUS пишет:

    боюсь никак, увеличить количество часов в сутках ещё никому не удавалось, а это то чего мне не хватает.

  82. VampiRUS пишет:

    на выходных думаю, что будет время, по крайней мере для k2 точно. c zoo я не очень знаком с ним нужно по дольше разбираться.

  83. Андрей пишет:

    Буду ждать К2, посмотрю принцип и попробую прикрутить к ЗОО. Получиться — поделюсь
    И вооще, предел моего восхищения не знает границ) СПАСИБО ТЕБЕ, программист из солнечной Бурятии)))

  84. Виталий пишет:

    А логин так и будет такого вида: login_vkontakte1111212111

  85. VampiRUS пишет:

    да, по идее же это служебная информация отображаться должно имя, а логину нужно обеспечить уникальность.

  86. Виталий пишет:

    А как сделать, чтобы не добавлялось vkontakte1111212111?

  87. VampiRUS пишет:

    в файле плагина плагине plugins/socialjlogin/vkontake/vkontakte.php

  88. Виталий пишет:

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

  89. Виталий пишет:

    Вы хотите рекламироваться за счет данного компонента? Какую же глупость вы спрашиваете.

  90. Андрей пишет:

    когда приблизительно к К2 ждать плюшки?

  91. Persite пишет:

    При попытке входа выдает:

    Fatal error: Class ‘JControllerLegacy’ not found in /home/………….ru/htdocs/www/components/com_socialjlogin/socialjlogin.php on line 9

  92. VampiRUS пишет:

    Обновите joomla до последней 2.5.x

  93. Yuriy_p пишет:

    как подружить sh404sef и этот модуль ?

  94. Yuriy_p пишет:

    500 ошибка
    h t tp :// sitenem / index.php?option=com_socialjlogin & amp; task=login& amp; type=vkontakte&code=

  95. Юрий пишет:

    Все отлично, но как отменить автоматический переход на страницу объединения аккаунтов? Т.е. чтобы после авторизации юзверь вернулся на ту же страницу, с которой авторизовывался???

  96. VampiRUS пишет:

    Так и задумывалось. Но видимо где-то косяк. Пока времени нет искать.

  97. Юрий пишет:

    Хотя бы подскажите в каком направлении копать, где формируется ссылка на редирект — в плагинах или в каком-то из файлов компонента (в каком?) ?

  98. VampiRUS пишет:

    в com_socialjlogin/controller.php в функции login, в сессию записывается.

  99. Максим пишет:

    Здравствуйте. Хотелось бы узнать. Что-нибуди решилось с переходом на страницу объединения аккаунтов?

  100. Павел пишет:

    Доброго Дня! Спасибо за компонент.
    Покупал у вас для Робокассы плагин, и очень рад, что нашёл компонент socialjlogin.

    Ситуация: все включил. прописал, фейсбук и контакт.
    При входе через контакт- кидает на 403- необходимо пройти авторизацию, потом вручную вбиваю ссылку на сайт- все работает, вход сработал, новый юзер создан. в чем может быть проблема?

    2ой вопрос: facebook, при входе через фейбук спрашивает доступ к application, потом просто обновляет страницу сайта и выходит на главную со странной ссылкой /#_=_.
    новый юзер не создаётся(

    ну еще стоит добавить, что у меня стоит CB, и я порезал весь код, чтобы только оставить кнопки входа без формы обычного входа. Но и в полном виде выдавались такие же ошибки.

    заранее спасибо

  101. VampiRUS пишет:

    Может быть sef компонент какой-нибудь установлен?

  102. admin пишет:

    Отлично! Спасибо. Перепробовал полкучи подобных, как российских, так и западных. Ваш лучший.

    Будем все же ждать решения с объединением аккаунтов (вернее, с его отсутствием). Надеюсь, это входит в ваши планы.
    Еще раз огромное спасибо.

  103. Павел пишет:

    Добрый день!

    Большое спасибо за плагин. Отлично работает, но есть одна проблема. Отображается кнопочка только в Хроме. Ни в Эксплорере, ни в Фаерфоксе не хочет.

    Подскажите, как можно решить проблему? Спасибо.

  104. VampiRUS пишет:

    Какая кнопочка?

  105. Garry пишет:

    да, есть такая проблема. Решение — опубликовать все сервисы, а не только вконтактик = тогда наверняка показываются все кнопочки =) наверное дела в css

  106. Виталий пишет:

    Доброго времени суток! У меня на сайте стоит связка JomSocial — K2 — Kunena. После того, как установил Ваш плагин на сайт, пропала возможность для пользователей (и для админа в том числе) сохранять сессию при помощи кнопки «Запомнить меня», то есть при следующем заходе на сайт приходится снова проходить авторизацию. Для входя использую модуль Hellome от JomSocial.

  107. Grigoriy Petrov пишет:

    mail.ru не работает одноклассники, вконтакте и яндекс — хорошо

  108. Родион пишет:

    Последняя Joomla 2.5.11 Включены плагины Яндекс, Facebook, VK

    FB и Яндекс выдают — Такой адрес уже зарегистрирован, VK выдает ошибку 500

  109. Rodion пишет:

    Проблема осталась только с VK , остальные работают, мой косяк был

  110. sfirestar пишет:

    А где можно демку глянуть?

    http://demo.vampirus.ru/sjlogin/ — пишет Database connection error (2): Could not connect to MySQL.

  111. sfirestar пишет:

    И ещё вопрос, есть или будет ли возможность импорта аватара в JomSocial, было бы очень здорово!

  112. bab пишет:

    Здравствуйте, авторизация через fb перегружает страницу и не авторизует.
    через твиттер выдает 500 — Required oauth_verifier parameter not provided /oauth/access_token .
    В чем может быть проблема? Спасибо.

  113. Igor Singosin пишет:

    демо не работает

  114. Серг пишет:

    Проект заброшен :(((

  115. Адамыщ пишет:

    Для virtuemat вообще существуют вк-совместимые социальные логинщики?

  116. VampiRUS пишет:

    там почта нужна, не все социалки его отдают.

  117. Павел пишет:

    Привет! Авторизация через одноклассники пишет следующее: Для осуществления авторизации приложение должно иметь тип EXTERNAL. Что нужно поправить чтоб работало?

    и в админке ссылки ведут на нерабочие описания АПИ.

  118. VampiRUS пишет:

    у них 10 раз всё менялось, за ними непоспеешь:) нужно создать приложение, которое по смыслу является внешним, например внешний сайт или как они сейчас назовут это.

  119. Вадим пишет:

    Facebooc — сразу весь сайт глючит, Твитер даже не стал пробовать, а все остальные выдают страничку для согласия передачи данных, но потом ошибки, типа как у Павла.
    А когда нашёл, так обрадовался. Ладно ещё бесплатно. Не работает, господа!
    J2.5 + JomSocial

  120. Вадим пишет:

    P.S. Зато чувак постарался ссылку свою вставить и 64_encode там всякое — убирается легко! Лучше б сделал платно, но РАБОЧИЙ компонент!

  121. Вадим пишет:

    Я дико извиняюсь перед Николаем за преждевременные нападки.
    Проверил другим браузером всё работает (кроме Facebooc, конечно, а мне вражеские сети и не нужны) — надо куки чистить!
    Спасибо большое!
    Но ссылку из модуля я убрал, да и почти весь модуль 😉
    Ссылку на ваш сайт поставил отдельно и только с главной (со всех — многовато будет).
    Вот что я оставил:

  122. Вадим пишет:

    Чёт не загрузилось.

  123. валерий пишет:

    Требуется написание текстов для сайтов со сдельной оплатой. Выплаты ежедневно без ожидания. Для кандидатов нет ограничений, кроме умения писать тексты на заданные темы. Несложная работа на 2-3 часа в день. Заработок выше среднего. Пишите на email: h1centrum@yandex.ru

  124. Михаил пишет:

    А для virtuemart будет? 🙁

  125. Александр Русин пишет:

    Приветствую , не могу найти АПИ на гугл. вино они поменяли название и интерфейс
    подскажите как теперь он называется

  126. Александр Русин пишет:

    все у кого выдает ошибку 500 — отключите плагин Socialjlogin Интеграция — JomSocial (он у Вас не используеться)

  127. Александр пишет:

    Как сделать в форме авторизации подмену вывода mod_login на ваш модуль.

  128. Vladimirfredom пишет:

    Для тех, у кого перестала работать авторизация (02.03.2018).
    Теперь vk provider требует, чтобы параметр v (версия) присутствовал при вызове их API
    https://github.com/Sorcery/sorcery/pull/109

    т.е. в строке:
    ‘api.vk.com/method/users.get’ . ‘?’
    необходимо добавить версию:
    ‘api.vk.com/method/users.get’ . ‘?v=1.0&’

Оставить комментарий

Вы так же можете оставить комментарий используя ваш OpenId, для этого нужно войти.