Добавить комментарий

Drupal 8 Модуль авторизации через Вконтакте

Drupal 8 vkontakte

На одном из сайте было необходимо настроить вход через Вконтакте. 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, он автоматически запрашивает данные
пользователя Вконтакте для авторизации. Вконтакте возвращает пользвоателя обратно на сайт. 
Если пользователь уже существует на сайте с таким же емайл как пользвоатель Вконтакте, то
мы авторизуем пользователя. Если нет то будет создан новый пользователь.

Войти, используя Loginza Google Account Yandex Mail.ru Vkontakte Facebook

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.