Настройки авторизации

1. Социальные сети

Настройка авторизации через социальные сети в первую очередь выполняется со стороны социальной сети. После создания приложения прописываются соответствующие доступы в разделе «Настройки сайта / Системные настройки / Пользователи / Социальные сети».

До версии 2.4.2 данные настройки следует указывать в файле /config/social.php следующим образом:

  • вставьте данные, которые получите в результате настройки приложения социальной сети;
  • чтобы включить авторизацию, замените 'enabled' => false, на 'enabled' => true, в блоке настройки соответствующей социальной сети.

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

1.1 Вконтакте

1. Авторизуйтесь и перейдите по ссылке: http://vk.com/editapp?act=create

2. Заполните форму:

  • Название: введите название, например Example.com;
  • Платформа: выберите Веб-сайт;
  • Адрес сайта: введите адрес вашего сайта, например http://example.com;
  • Базовый домен: введите домен вашего сайта, например example.com.

Заполнение формы ВКонтакте

Вместо example.com подставьте адрес своего сайта. Если ваш сайт работает в режиме https, то откорректируйте ссылки соответствующим образом.

3. Нажмите кнопку Подключить сайт.

4. Верифицируйте приложение (возможно будет необходима проверка с помощью телефона), чтобы попасть на страницу приложения.

5. Перейдите во вкладку Настройки и скопируйте ID приложения и Защищенный ключ для последующей вставки в файл /config/social.php.

Копирование ID приложения и Защищенного ключа

6. Включите авторизацию и пропишите полученные данные приложения в файл /config/social.php для пункта Vkontakte:

  • замените array('id'=>'', 'secret'=>'') на array('id'=>'CLIENT_ID', 'secret'=>'CLIENT_SECRET'),
    где CLIENT_ID — это ID приложения, а CLIENT_SECRETЗащищенный ключ;
  • чтобы включить авторизацию, замените 'enabled'=>false, на 'enabled'=>true,

Редактирование блока Vkontakte

1.2 Facebook

1. Перейдите в раздел управления приложениями Facebook — https://developers.facebook.com/apps/ и нажмите кнопку “Создать приложение”

Добавление приложения

2. В списке сценариев использования отметьте “Выполнять аутентификацию и запрашивать данные у пользователей с помощью функции Вход через Facebook” и нажмите “Далее”.

Выбор функции Вход через Facebook

3. В “Компании” вы можете отметить не подключать бизнес-портфолио и нажать “Далее”.

нажать “Далее”

6. Щёлкните на пункт Веб.

7. Укажите адрес своего сайта и нажмите кнопку Save.

Добавление URL сайта

Вместо example.com подставьте адрес своего сайта.

8. Перейдите во вкладку Настройки/Основные. В поле URL-адрес политики конфиденциальности добавьте ссылку на политику конфиденциальности вашего сайта и нажмите кнопку Сохранить изменения.

Добавление ссылки на политику конфиденциальности

9. Во вкладке Вход через Facebook/Настройки установите следующие параметры:

  • Клиентская авторизация OAuth: Да
  • Веб-авторизация OAuth: Да
  • Остальное: Нет
  • Действительные URL-адреса для перенаправления OAuth: https://example.com/user/loginsocial/facebook, где вместо example.com подставьте адрес своего сайта.

Если на вашем сайте задействовано 2 языка и больше, то также следует добавить ссылки с учетом языковой приставки: https://example.com/en/user/loginsocial/facebook

Клиентская настройка OAuth

10. Чтобы активировать приложение, перейдите во вкладку Проверка приложения и установите переключатель Сделать приложение доступным для всех в положение Да.

Активируйте приложение

Теперь приложение готово к работе.

11. Во вкладке Настройки/Основное скопируйте Идентификатор приложения и Секрет приложения для последующей вставки в файл /config/social.php. Чтобы увидеть Секрет приложения, нажмите кнопку Показать.

Копируйте Идентификатор и Секрет приложения

Открытый секрет приложения имеет такой вид:

Открытый секрет приложения

12. Включите авторизацию и пропишите полученные данные приложения в файл /config/social.php для пункта Facebook:

  • замените array('id'=>'', 'secret'=>'') на array('id'=>'CLIENT_ID', 'secret'=>'CLIENT_SECRET'),
    где CLIENT_ID — это Идентификатор приложения, а CLIENT_SECRETСекрет приложения;
  • чтобы включить авторизацию, замените 'enabled'=>false, на 'enabled'=>true,

Редактирование блока Facebook

1.3 Google+

1. Авторизуйтесь в Google.

2. Перейдите в консоль Google API: https://console.developers.google.com/project/_/apiui/apis/library?hl=ru

3. Создайте новый проект или выберите существующий.

Создание проекта

4. Найдите и выберите службу Google+ API, кликнув по ней.

Выбор службы Google+ API

5. Включите службу Google+ API.

Включение службы Google+ API

6. Перейдите на страницу Учетные данные.

Перейдите на страницу Учетных данных

7. Откройте вкладку Окно запроса доступа OAuth, заполните форму, подставляя адрес своего сайта вместо example.com, и нажмите кнопку Сохранить.

Открытие вкладки Окно запроса доступа OAuth

Поля Название продукта и URL политики конфиденциальности обязательны к заполнению.

8. Перейдите во вкладку Учетные данные, нажмите кнопку Создать учетные данные и выберите пункт Идентификатор клиента OAuth из выпадающего списка.

Вкладка Учетные данные

9. Заполните форму:

  • Тип приложения: выберите Веб-приложение;
  • Название: введите любое название, например, Авторизация на сайте;
  • Разрешенные источники JavaScript: укажите адрес вашего сайта, например http://example.com;
  • Разрешенные URI перенаправления: введите http://example.com/user/loginsocial/google, где вместо example.com подставьте адрес своего сайта.

Заполнение формы

После создания приложения откроется окно с данными приложения (идентификатор клиента и секрет клиента).

Данные приложения

10. Включите авторизацию и пропишите полученные данные приложения в файл /config/social.php для пункта Google:

  • замените array('id'=>'', 'secret'=>'') на array('id'=>'CLIENT_ID', 'secret'=>'CLIENT_SECRET'),
    где CLIENT_ID — это Ваш идентификатор клиента, а CLIENT_SECRETВаш секрет клиента;
  • чтобы включить авторизацию, замените 'enabled'=>false, на 'enabled'=>true,

Редактирование блока Google

1.4 Одноклассники

1. Чтобы получить права разработчика, перейдите по ссылке https://ok.ru/devaccess и примите соглашение о предоставлении прав разработчика.

2. Перейдите на страницу ваших приложений https://ok.ru/vitrine/myuploaded и нажмите ссылку Добавить приложение.

Добавление приложения на Одноклассниках

3. Нажмите кнопку Подключить OAuth.

Подключение OAuth

4. Заполните форму:

  • Название: введите название, например Example;
  • Картинка 128×128: если необходимо, то укажите прямую ссылку на изображение для вашего приложения;
  • Список разрешенных redirect_uri: укажите адрес http://example.com/user/loginsocial/odnoklassniki, где example.com следует заменить вашим доменом. Если на вашем сайте больше одной локализации, то также вам следует добавить ссылки с учетом всех используемых языков:

Настройка приложения Одноклассники

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

Письмо с настройками приложения на Одноклассниках

5. Включите авторизацию и пропишите полученные данные приложения в файл /config/social.php для пункта Odnoklassniki:

  • замените array('id'=>'', 'key'=>'', 'secret'=>''), на array('id'=>'CLIENT_ID', 'key'=>'CLIENT_KEY', 'secret'=>'CLIENT_SECRET'),
    где CLIENT_ID — это Application ID, CLIENT_KEY — Публичный ключ приложения, а CLIENT_SECRET — Секретный ключ приложения;
  • чтобы включить авторизацию, замените 'enabled'=>false, на 'enabled'=>true,

Редактирование блока Odnoklassniki

Обратите внимание, что секретный ключ длиннее, чем публичный.

1.5 Yandex

1. Перейдите на страницу добавления нового приложения: https://oauth.yandex.ru

2. Заполните форму со следующими параметрами:

  • Название приложения: любое название, например Example App
  • Платформы: Веб-сервисы
  • Callback URI: http://example.com/user/loginsocial/yandex

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

Ссылки с учетом локализаций

API Яндекс.Паспорта:

  • Доступ к адресу электронной почты
  • Доступ к дате рождения
  • Доступ к логину, имени и фамилии, полу
  • Доступ к портрету пользователя

API Яндекс.Паспорта

3. Нажмите Создать приложение.

После создания приложения откроется окно с его данными (ID и пароль).

Данные приложения

4. Включите авторизацию и пропишите полученные данные приложения в файле /config/social.php для пункта Yandex:

  • замените array('id'=>'', 'key'=>'', 'secret'=>''), на array('id'=>'ID', 'secret'=>'PASSWORD'), где ID — это ID приложения, PASSWORDпароль приложения;
  • чтобы включить авторизацию, замените 'enabled'=>false, на 'enabled'=>true,

Редактирование блока Yandex

2. Регистрация c SMS-подтверждением

Настройку данного режима можно разделить на два этапа: включение режима и настройка SMS-провайдера.

Для того чтобы включить данный режим:

1. Перейдите в раздел админ-панели Настройки сайта/Системные настройки.

2. Во вкладке Пользователи включите настройку Подтверждение номера телефона (users.register.phone). Для этого из выпадающего списка выберите значение включено.

Включение режима регистрации с SMS-подвтерждением

3. Настройте режим:

  • Кол-во повторных отправок SMS: определите максимальное количество повторных отправок SMS-сообщений, по достижении которого будет активирован таймаут.
  • Таймаут повторной отправки SMS: укажите количество минут ожидания при достижении максимально допустимых повторных отправок.
  • Номер телефона в профиле: настройте отображение указанного при регистрации номера телефона в профиле пользователя.

4. Нажмите кнопку Сохранить.


Выполните настройку SMS-провайдера (из доступных для подключения реализован сервис http://sms.ru):

1. Зарегистрируйтесь на сайте провайдера.

2. В разделе кабинета Программистам найдите API ключ (Ваш api_id) в правом блоке и пропишите его в настройке users.sms.sms_ru.api_id в файле /config/sys.php

3. Изучите тарификацию и пополните счет в кабинете сервиса sms.ru.

4. Проверьте работу отправки SMS при регистрации.

Системную настройку users.sms.sms_ru.from, в которой указывается «Имя отправителя», необходимо согласовывать с администрацией sms.ru в разделе http://sms.ru/?panel=mass&subpanel=senders, в противном случае оставьте ее пустой.