На одном из сайте было необходимо настроить вход через Вконтакте. Hybrib Auth работал как-то непонятно, поэтому решил сделать модуль на основе Social API. Получился вот такой модуль Social Auth Vkontakte:
https://www.drupal.org/project/social_auth_vk
Описание
Social Auth Vkontakte модуль позволяет авторизироваться через VK.com. Он
основан на модулях Social Auth и Social API.
Модуль добавляет на сайт:
* Новую страниу: /user/login/vk.
* Форму настроек /admin/config/social-api/social-auth/vk.
* Логотип Vkontakte на Social Auth Login блок.
Зависимости
Этот модуль требует следующие модули и библиотеки:
* Social Auth (https://drupal.org/project/social_auth)
* Social API (https://drupal.org/project/social_api)
* vladkens/vk (https://packagist.org/packages/vladkens/vk)
Установка
* Установите https://packagist.org/packages/vladkens/vk библиотеку через composer:
composer require vladkens/vk
* Установите модули: Social API и Social Auth.
* Установите Social Auth VK как обычный модуль. Смотрите больше информации здесь:
https://drupal.org/documentation/install/modules-themes/modules-8
* Более расширенную документацию по установке Drupal модулей можете посмотреть здесь:
https://www.drupal.org/node/2764227.
Настройка
* Вам потребуется создать приложение Вконтакте для вашего сайта:
https://vk.com/editapp?act=create
Скопируйте и вставьте ID приложения (Application ID), Защищённый ключ (Secure Key),
Сервисный ключ доступа (Service token) из настроек своего приложения в конфигурационную форму:
/admin/config/social-api/social-auth/vk
Также вам потребуется добавить в настройки приложения все работающие домены сайта. И добавить
Доверенный redirect URI для каждого домена:
http://example.com/user/login/vk/callback
* Выведите блок Social Auth Login в Структура » Схема блоков.
* Если вы уже вывели этот блок, то просто почистите кеш.
Как это работает
Пользователь может кликнуть на лого Вконтакте в блоке Social Auth Login.
Вы также можете разместить кнопку входа через вконтакте где угодно с ссылкой
на страницу /user/login/vk, так что эту кнопку можно застилизовать как угодно.
Когда пользователь открывать страницу /user/login/vk, он автоматически запрашивает данные
пользователя Вконтакте для авторизации. Вконтакте возвращает пользвоателя обратно на сайт.
Если пользователь уже существует на сайте с таким же емайл как пользвоатель Вконтакте, то
мы авторизуем пользователя. Если нет то будет создан новый пользователь.
Добавить комментарий