Модуль "Соц.авторизация"

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

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

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

Для XSLT-шаблонизатора используйте шаблоны, находящиеся в каталоге /templates/demodizzy/xslt/modules/pm_sna/

<xsl:apply-templates select="document('udata://pm_sna/form/')" />

Для PHP-шаблонизатора используйте шаблоны, находящиеся в каталоге /templates/demodizzy/php/pm_sna/

<?=$this->render($this->macros('pm_sna', 'form'), 'pm_sna/form')?>

Пример интеграции сайта с социальной сетью ВКонтакте

  1. Интеграция с соц.сетью ВКонтакте
    Заходите по адресу https://vk.com/dev и кликаете на кнопку "Создать приложение"
  2. Интеграция с соц.сетью ВКонтакте
    Прописываете название вашего сайта, выбираете тип веб-сайт, прописываете адрес сайта, домен и кликаете "Подключить сайт"
  3. Интеграция с соц.сетью ВКонтакте
    Подтверждаете приложение с помощью кода СМС - после этого откроется возможность редактировать все настройки приложения.
  4. Интеграция с соц.сетью ВКонтакте
    Выбираете в меню слева пункт "Настройки" - и копируете отображающиеся ID приложения и защищённый ключ в настройки модуля.
  5. Интеграция с соц.сетью ВКонтакте
    На странице настроек нужно прописать Доверенный redirect URI - http://yourdomain/pm_sna/authorize/vk

Пример интеграции сайта с Facebook

  1. Заходите по адресу https://developers.facebook.com, в верхнем меню наводите мышкой на "My Apps", кликаете на "Add new App", выбираете тип "WWW".
  2. Интеграция с Facebook
    В открывшемся диалоге вводите имя вашего приложения, либо кликаете на кнопку сверху "Skip and Create APP ID". Вам откроется попап, в который нужно ввести отображаемое название приложения и выбрать его категорию. Также, по желанию, можно включить тестовый режим. Завершается действие нажатием на кнопку "Создайте идентификатор приложения".
  3. Интеграция с Facebook
    После прохождения капчи вы попадаете в настройки вашего приложения. На этой странице будет указан App ID и App Secret вашего приложения, которые нужно вставить в настройки модуля на вашем сайте.
  4. Интеграция с Facebook
    В настройках нужно будет указать ваш контактный e-mail, прописать домен вашего сайта.
  5. Интеграция с Facebook
    ниже в форме указать "Valid OAuth redirect URIs": http://yourdomain.ru/pm_sna/authorize/fb
  6. Интеграция с Facebook
    После этого можно перейти в пункт "Status & Review", где нажать на кнопку "Start a Submission". После клика, если у вас будут заполнены не все данные, Facebook подскажет вам, что нужно дозаполнить. Впрочем, авторизация уже будет работать.

Пример интеграции сайта с Google+

  1. Интеграция с Google+
    Заходите по адресу https://console.developers.google.com/ и кликаете на создание нового проекта (Create project).
  2. Интеграция с Google+
    Вводите название проекта и кликаете "Create'.
  3. Интеграция с Google+
    На открывшейся странице проекта кликаете на "Enable and manage API".
  4. Интеграция с Google+
    В открывшихся списках кликаете на Google+ API в блоке Social APIs.
  5. Интеграция с Google+
    На этом шаге кликаем на кнопку "Enable API".
  6. Интеграция с Google+
    После этого вам будет предложено получить Credentials. Для этого кликаем на кнопку "Go to Credentials".
  7. Интеграция с Google+
    На этом шаге вам будет предложено выяснить, какие именно данные вам нужно получить. Этот шаг можно пропустить, кликнув в надписи "If you wish you can skip this step and create an API key, client ID, or service account" на надпись "client ID".
  8. Интеграция с Google+
    Для получение ID клиента, вам будет предложено задать имя продукта. Кликаем на кнопку "Configure consent screen".
  9. Интеграция с Google+
    На этом шаге заполняем в форме "Product name shown to users". Остальные опции можно заполнить по желанию. По сле заполнения формы жмём внизу на кнопку "Save".
  10. Интеграция с Google+
    Очередной шаг - выбор типа приложения. Выбираем "Web application". Ниже откроется форма, в которой нужно будет указать название клиента и указать Authorized redirect URIs "http://yourdomain/pm_sna/authorize/gp", и жмём кнопку "Create". Следует обратить внимание, что домен не может быть локальным.
  11. Интеграция с Google+
    В итоге вы получите client ID и client secret, которые нужно вставить в настройки модуля на вашем сайте.
  12. Возможно, вам потребуется подтвердить владение сайтом в Google Webmasters.

Пример интеграции сайта с Яндексом

  1. Интеграция с Яндексом
    Заходите по адресу https://oauth.yandex.ru/ и кликаете на кнопку "Зарегистрировать новое приложение"
  2. Интеграция с Яндексом
    Прописываете название вашего сайта, ссылку на сайт приложения, выбираете Яндекс.Паспорт, разрешаете "Доступ к адресу электронной почты" и "Доступ к логину, имени и фамилии, полу", прописываете Callback URL - http://yourdomain/pm_sna/authorize/ya и кликаете "Сохранить".
  3. На следующей странице вы получите ID приложения и пароль, которые нужно прописать в настройках модуля.

Пример интеграции сайта с Mail.ru

  1. Интеграция с Mail.ru
    Заходите по адресу http://api.mail.ru/sites/my/add и принимаете условия соглашения.
  2. Интеграция с Mail.ru
    Вводите название вашего сайта и адрес главной страницы.
  3. Интеграция с Mail.ru
    На третьем шаге вам будет предложено скачать файл _receiver.html и разместить его на вашем сайте.
  4. Интеграция с Mail.ru
    На четвёртом шаге ваш сайт будет зарегистрирован и вы получите ID приложения, приватный и секретный ключи, которые нужно вставить в настройки модуля на вашем сайте.

Если у вас остались какие-то вопросы по установке/настройке модуля, либо вам нужна поддержка авторизации с помощью какой-то другой соц.сети или сервиса, можно отправить письмо: mail@paradis-media.ru.