Авторизация через социальные сети. Настройка HybridAuth на Modx Revo. Авторизация через соц сети modx evo


Реализуем авторизацию в MODX через соц сети при помощи HybridAuth

Данный пакет, можно скачать с репозитория modstore.

Данный компонент хорош тем, что у него:

Регистрация у провайдеров и получение ключей

Все инструкции лежат здесь: docs.modx.pro/components/hybridauth/providers/, часть из них немного устарела, но при желании разберетесь, единственно изменилась ссылка у твиттера на apps.twitter.com .

Вот так пишутся Callback URI https://site.ru/?hauth.done=Провайдер , например https://site.ru/?hauth.done=Yandex иногда вот так: https://site.ru/assets/components/hybridauth/action.php?hauth.done=Yandex

Настройки провайдеров

Идем в системные настройки (шестеренка в правом верхнем углу), выбираем HybridAuth

переходим в настройки HybridAuth

и прописываем все ключи, при прописывании смотрите внимательнее, так как где то secret, где, то id.

прописываем ключи провайдеров

Вызов HybridAuth

[[!HybridAuth]] — Выведет все иконки соц сетей для авторизации.

Если вам нужны определенные соц сети, то их можно указать в параметре &providers, вот так.

[[!HybridAuth? &providers=`Twitter,Vkontakte,Google` ]]

[[!HybridAuth?

&providers=`Twitter,Vkontakte,Google`

]]

Важно. Так же желательно указать группу, куда попадает пользователь после авторизации, в противном случае он попадет в группу аноним (не сможет не чего делать на сайте). Для того чтобы пользователь попал в другую группу, нужно добавить параметр &groups, пример.

[[!HybridAuth? &providers=`Twitter,Vkontakte,Google` &groups=`member:3` ]]

[[!HybridAuth?

&providers=`Twitter,Vkontakte,Google`

&groups=`member:3`

]]

группа пользователей

Как создать группу для пользователей на примере тикета, я писал здесь.

web-revenue.ru

 MODX Revo - дельные советы: Авторизация через facebook в hybridauth modx

Приветствую вас, уважаемые читатели!

Сегодня боги послали мне установку модуля авторизации через социальные сети под названием HybridAuth в MODX Revo. Требовалось настроить доступ через две популярные соц.сети - Facebook и Вконтакте.

Итак, сниппет вставлен, количество иконок сокращено до двух. Пришло время получать ключи приложений. Регистрация как разработчик в этих сетях прошла успешно. Вконтакте настроилось сразу по имеющейся документации. Facebook предварительно тоже не подавал никаких признаков капризности и брыкания, хотя документация к установке устарела и пришлось вводить параметры интуитивно. Кнопка like в виде пробного кода вставилась и успешно заработала. Пришло время настройки приложения HybridAuth.

Тут с facebook начались проблемы. При нажатии на кнопку авторизации "f" вылезла ошибка: Given URL is not whitelisted in Client OAuth Settings.

После прочтения отзывов в магазине приложений, и различных форумов, попыток ввести адреса с различными префиксами и ключами итог был один - та же самая ошибка. Затем я плюнул и решил попробовать вставить голый адрес сайта - http://sitename.com. (хотя чуть позже нашел на одном сайте шаблон заполнения такой http://mywebsite.com/path_to_hybridauth/?hauth.done=Facebook)

Тыдыщ - ошибка исчезла. Правда появилась другая.

Invalid Scopes: read_stream

Социальная сеть Facebook часто обновляет свой API и поэтому могут возникать такие ошибки. Как оказалось в дальнейшем, параметр который запрашивал сниппет HybridAuth был относительно недавно (пол года назад) переименован. Параметр этот отвечает за чтение ленты пользователя и мне триста лет не нужен.

Дай думаю гляну что HybridAuth вообще запрашивает. Мне достаточно пока имени и почтового ящика. Открыл файл

/core/components/hybridauth/model/hybridauth/lib/Providers/Facebook.php

который отвечает за работу с Facebook и увидел список голубчиков:

public $scope = "email, user_about_me, user_birthday, user_hometown, user_location, user_website, read_stream, publish_actions, read_custom_friendlists";

Недолго думая решил удалить виновника торжества - read_stream из списка (к тому же это прямым текстом разрешается и приветствуется в комментарии к коду пару стручками выше:

* default permissions, and a lot of them. You can change them from the configuration by setting the scope to what you want/need Обновляем страницу сайта с кнопками авторизации, пробуем нажать на "f" - тадамс, ошибок нет, проходим на следующий уровень.

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

Думаю, кучу всех этих лишних параметров можно смело удалять, а оставить только 2 основных - email и public_profile. Остальное ликвидировать из сниппета.

Но это, возможно, опишем в следующей статье. Спасибо за внимание)

modxrevolution.blogspot.com

Авторизация через соц сети на Modx Revolution, настройка HybridAuth

Добрый день!

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

До:

Форма комментирования modx revo

После:

Авторизация через соц-сети modx revo

Личный кабинет в modx revo

HybridAuth это приложение для авторизации через соц. сети и другие сервисы, разработанный Василием Наумкиным (@bezumkin). Главным достоинством HybridAuth для ModX Revo является то, что взаимодействие с сервисами проходит без каких-либо посредников, а также возможность объединять  несколько аккаунтов разных социальных сетей в один профиль на Вашем сайте под управлением ModX Revo.

Выделим задачи с которыми HybridAuth справляется на 5+:

Настройка HybridAuth на ModX для авторизации через социальные сети

1. Итак, для установки нашего приложения нажимаем в главном меню Modx Приложения -> Установщик -> Загрузить дополнения -> В поиске вбиваем HybridAuth и устанавливаем.  

2. Далее переходим Настройки -> Системные настройки -> фильтруем по HybridAuth  

Настройка hybridauth

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

3. Далее, в месте где вы хотите вывести форму авторизации, вставляем этот код. В моем случае, это чанки формы комментариев для незарегистрированных пользователей. 

[[!HybridAuth?&providers=`Vkontakte, Facebook`]]

 Перечисляем нужных нам провайдеров через запятую.

4. Далее переходим в раздел Чанки -> tpl.HybridAuth.profile и tpl.HybridAuth.logout и в месте вывода фото меняем значение на  [[+photo]] делается это для того чтобы подгружались аватарки из соц сетей.

tpl.HybridAuth.logout

Вывод фото в HybridAuth

tpl.HybridAuth.profile

Вывод фото в HybridAuth

5. Для вывода личного кабинета создадим новый документ Личный кабинет и в поле контент вызовем сниппет  [[!haProfile]]

Личный кабинет в modx

Личный кабинет на Modx Revo

Личный кабинет в modx revolution

На этом все. Как видите ничего сложного в настройке нет.

Желаю всем удачи. До новых встреч!!)

Если статья понравилась, то поделитесь ей в социальных сетях:

foxtan.ru

Авторизация через соц.сети в MODX: hybridauth

Как мы знаем посетители сайта не любят авторизоваться на сайте методом простой регистрации. Сам процесс пользователю противен.

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

Поэтому на сегодняшний день актуально авторизоваться на сайте через социальные сети в один клик. Это очень удобно и многие пользователи будут регистрироваться на сайте

Для этого в MODX Revo есть хороший компонент hybridauth. Его функционал позволяет:

Последний пункт очень полезен - ведь посетитель сможет объединять аккаунты всех социальной сетей на вашем сайте и спокойно заходить под своим пользователем на сайт через любую сеть

Установка и настройка hybridauth

Загрузите и установите компонент через административную панель сайта. (Приложения -> Установщик)

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

[[!HybridAuth]]

Вы сможете выводить только нужные соц. сети, для этого укажите их параметре:

[[!HybridAuth? &providers=`Twitter,Facebook,Vkontakte` ]]

Также важно указать, в какую группу пользователей попадёт наш посетитель после авторизации:

[[!HybridAuth? &providers=`Twitter,Facebook,Vkontakte` &groups=`Users:2` ]]

Настройка провайдеров.

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

К примеру «Вконтакте» можно по этой ссылке.

Получив ключ, переходим в раздел «Настройки системы», фильтруем по «hybridauth» и вбиваем полученные ключи.

Параметры HybridAuth

Название По умолчанию Описание
&activeProviderTpl tpl.HybridAuth.provider.active Чанк для вывода иконки привязанного сервиса.
&addContexts Дополнительные контексты, через запятую. Например, &addContexts=`web,ru,en`
&groups Список групп для регистрации пользователя, через запятую. Можно указывать роль юзера в группе через двоеточие. Например, &groups=`Users:1` добавит юзера в группу "Users" с ролью "member".
&loginContext current context Основной контекст для авторизации. По умолчанию - текущий.
&loginResourceId 0 Идентификатор ресурса, на который отправлять юзера после авторизации. По умолчанию, это 0 - обновляет текущую страницу.
&loginTpl tpl.HybridAuth.login Этот чанк будет показан анонимному пользователю, то есть любому гостю.
&logoutResourceId 0 Идентификатор ресурса, на который отправлять юзера после завершения сессии. По умолчанию, это 0 - обновляет текущую страницу.
&logoutTpl tpl.HybridAuth.logout Этот чанк будет показан авторизованному пользователю.
&providerTpl tpl.HybridAuth.provider Чанк для вывода ссылки на авторизацию или привязку сервиса к учетной записи.
&providers all available Список провайдеров авторизации, через запятую. Все доступные провайдеры находятся тут {core_path}components/hybridauth/model/hybridauth/lib/Providers/. Например, &providers=`Google,Twitter,Facebook`.
&rememberme 1 Пользователя остаётся авторизованным долгое время. По умолчанию - включено.

daruse.ru

Настройка HybridAuth: Авторизация через социальные сети

Долгая и длинная регистрация на сайте с огромным количеством заполняемых полей и вопросов уже далеко в прошлом! Почти на каждом интернет сайте можно встретить рядом с кнопкой регистрации, кнопку «войти с помощью социальной сети». Авторизация через ВКонтакте, Твиттер, Фейсбук и другие сервисы намного упрощают и облегчают процесс регистрации пользователя всего до нескольких кликов, в итоге посетители сайта экономят время, а легкость регистрации на сайте наверняка увеличит количество пользователей на Вашем проекте. Сегодня мы сделаем на сайте под управлением ModX авторизацию через социальные сети с помощью компонента HybridAuth.

Немного о компоненте HybridAuth для ModX

HybridAuth это компонент для авторизации через социальные сети и другие сервисы, разработанный Василием Наумкиным (@bezumkin) о котором я упоминал в предыдущей статье. Основными преимуществами HybridAuth для ModX Revolution является работа с сервисами без каких-либо посредников, а также возможность объединения нескольких аккаунтов в социальной сети в один профиль на Вашем сайте под управлением ModX.

Таким образом задачи с которыми превосходно справляется HybridAuth:

Установка HybridAuth

Для того чтобы установить HybridAuth на Вашем сайте нужно подключить магазин дополнений ModStore. (Внимание, если у Вас уже подключен репозиторий ModStore, этот шаг вы можете пропустить)Итак переходим по ссылке и регистрируемся на сайте, после чего активируете аккаунт с помощью письма на почте, там же Вы и получите пароль. Далее логинимся и переходим в личный кабинет во вкладку «Ключи» и если там еще не подключен Ваш сайт, нажимаем сгенерировать новый ключ. После этого во всплывающем окне у Вас появится ваш логин и сгенерированный ключ которые нужно записать где-нибудь.

Получение ключей HybridAuth Modx

Далее необходимо зайти уже на Ваш сайт в панель управления сайтом (/manager) в раздел Система — Управления пакетами, далее переключиться на кладку «Поставщики» и создать нового поставщика. При создании нового поставщика необходимо указать следующее:

Сохраняемся и переходим на вкладку «Пакеты», далее необходимо выбрать нового поставщика, это можно сделать «Загрузить дополнения». Вы увидите домашнюю страницу репозитория, и сможете загрузить нужные пакеты. Теперь находим там пакет HybridAuth и устанавливаем как обычный пакет который ставили до этого.

Настройка HybridAuth

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

[[!HybridAuth? &providers=`Vkontakte` &groups=`Member` ]]

[[!HybridAuth?

&providers=`Vkontakte`

&groups=`Member`

]]

В пункте &providers вы можете указать сервисы через которые пользователи могут авторизироваться на сайте, или убрать эту строку и тогда посетителю будут предложены варианты авторизации через все соц.сети доступные в компоненте. Обязательно наличие строки &groups в которой Вы указываете в какую группу попадет пользователь после авторизации, если строку не указать, есть вероятность, что пользователь попадет в группу «Аноним» и не сможет что-либо делать на сайте. Сохраняем шаблон и переходим к самому важному, получению ключей для авторизации в самих сервисах.

HybridAuth Настройка

Ссылки на подключения всех провайдеров доступны в документации по компоненту, а сами ключи нужно вводить в панели управления, для этого заходим в менеджер нажимаем на шестеренку справа вверху и выбираем «Системные настройки», далее в фильтре выбираем HybridAuth и попадаем на страницу настройки ключей, выбираем нужный ключ и нажимаем правой кнопкой для редактирования, заполняем полученные данные из сервиса и вуаля все работает!

Настройка HybridAuth на ModX для авторизации через социальные сети

3.75 (75%) Проголосовало: 4

comments powered by HyperComments

dmigorevich.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта