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.
6. Включите авторизацию и пропишите полученные данные приложения в файл /config/social.php для пункта Vkontakte:
- замените
array('id'=>'', 'secret'=>'')
наarray('id'=>'CLIENT_ID', 'secret'=>'CLIENT_SECRET'),
гдеCLIENT_ID
— это ID приложения, аCLIENT_SECRET
— Защищенный ключ; - чтобы включить авторизацию, замените
'enabled'=>false,
на'enabled'=>true,
1.2 Facebook
1. Авторизуйтесь в Facebook.
2. Перейдите в консоль разработчика: https://developers.facebook.com
3. Выберите пункт Добавить новое приложение из выпадающего меню.
4. Введите название приложения, например Example, затем почту и нажмите кнопку Создайте ID приложения.
5. Выберите пункт Вход через Facebook, нажав на кнопку Настроить.
6. Щёлкните на пункт Веб.
7. Укажите адрес своего сайта и нажмите кнопку Save.
Вместо 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
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,
1.3 Google+
1. Авторизуйтесь в Google.
2. Перейдите в консоль Google API: https://console.developers.google.com/project/_/apiui/apis/library?hl=ru
3. Создайте новый проект или выберите существующий.
4. Найдите и выберите службу Google+ API, кликнув по ней.
5. Включите службу Google+ API.
6. Перейдите на страницу Учетные данные.
7. Откройте вкладку Окно запроса доступа OAuth, заполните форму, подставляя адрес своего сайта вместо example.com, и нажмите кнопку Сохранить.
Поля Название продукта и 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,
1.4 Одноклассники
1. Чтобы получить права разработчика, перейдите по ссылке https://ok.ru/devaccess и примите соглашение о предоставлении прав разработчика.
2. Перейдите на страницу ваших приложений https://ok.ru/vitrine/myuploaded и нажмите ссылку Добавить приложение.
3. Нажмите кнопку Подключить 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,
Обратите внимание, что секретный ключ длиннее, чем публичный.
1.5 Yandex
1. Перейдите на страницу добавления нового приложения: https://oauth.yandex.ru
2. Заполните форму со следующими параметрами:
- Название приложения: любое название, например Example App
- Платформы: Веб-сервисы
- Callback URI: http://example.com/user/loginsocial/yandex
Если на вашем сайте больше одной локализации, то также нужно добавить ссылки с учетом языковой приставки:
API Яндекс.Паспорта:
- Доступ к адресу электронной почты
- Доступ к дате рождения
- Доступ к логину, имени и фамилии, полу
- Доступ к портрету пользователя
3. Нажмите Создать приложение.
После создания приложения откроется окно с его данными (ID и пароль).
4. Включите авторизацию и пропишите полученные данные приложения в файле /config/social.php для пункта Yandex:
- замените
array('id'=>'', 'key'=>'', 'secret'=>''),
наarray('id'=>'ID', 'secret'=>'PASSWORD'),
гдеID
— это ID приложения,PASSWORD
— пароль приложения; - чтобы включить авторизацию, замените
'enabled'=>false,
на'enabled'=>true,
2. Регистрация c SMS-подтверждением
Настройку данного режима можно разделить на два этапа: включение режима и настройка SMS-провайдера.
Для того чтобы включить данный режим:
1. Перейдите в раздел админ-панели Настройки сайта/Системные настройки.
2. Во вкладке Пользователи включите настройку Подтверждение номера телефона (users.register.phone
). Для этого из выпадающего списка выберите значение включено.
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, в противном случае оставьте ее пустой.