ID: auth_social
Name: social networks auth
Version: 0.6
Acts: ppages, action.ppages.uprofile, usermenu
File: social.php
Config: config.php
Install: install.php
Deinstall: uninstall.php
Type: plugin
Description: Аутентификация через ВК, Google, Yandex, Facebook и т.д.
Author: Rostunov Sergey, Stanislav+ИИ
Information: Аутентификация через ВК, Google, Yandex, Facebook и т.д.
Preinstall: no
MinEngineBuild: 23b3116
MinPHP: 7.4
MaxPHP: 8.4
Плагин не является самостоятельным модулем авторизации, а работает лишь как
дополнение к одному из уже работающих плагинов, например auth_basic.
В данный момент поддерживается авторизация через: vk, yandex, google, facebook, github.
Установка1. Зарегистрировать приложения в соцсетях (см. также
https://github.com/stanislas-prime/SocialAuther).
В параметре redirect_uri укажите соответствующие URL:
https://sitename.ru/plugin/auth_social/?provider=vk
https://sitename.ru/plugin/auth_social/?provider=yandex
https://sitename.ru/plugin/auth_social/?provider=google
https://sitename.ru/plugin/auth_social/?provider=facebook
https://sitename.ru/plugin/auth_social/?provider=githubПримечание: для GitHub рекомендуется scope:
read:user, user:email (для получения e‑mail).
2. Включить плагин. В настройках плагина, внести данные о приложениях в соц.сетях (client_id, client_secret, public_key)
3. В шаблоне usermenu.tpl прописать ссылки по которым будет осуществляться авторизация, например:
Код:
<a href="{{p.auth_social.vk.authUrl}}" title="{{p.auth_social.vk.title}}"><img src="/engine/plugins/auth_social/social/VK.png" alt="{{p.auth_social.vk.title}}"/></a>
<a href="{{p.auth_social.yandex.authUrl}}" title="{{p.auth_social.yandex.title}}"><img src="/engine/plugins/auth_social/social/ya.png" alt="{{p.auth_social.yandex.title}}"/></a>
<a href="{{p.auth_social.google.authUrl}}" title="{{p.auth_social.google.title}}"><img src="/engine/plugins/auth_social/social/G.png" alt="{{p.auth_social.google.title}}"/></a>
<a href="{{p.auth_social.facebook.authUrl}}" title="{{p.auth_social.facebook.title}}"><img src="/engine/plugins/auth_social/social/FB.png" alt="{{p.auth_social.facebook.title}}"/></a>
<a href="{{p.auth_social.github.authUrl}}" title="{{p.auth_social.github.title}}"><img src="https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png" alt="{{p.auth_social.github.title}}" style="width:32px;height:32px"/></a> Интеграция с профилем (плагин uprofile)При установке плагина в таблице users создаются новые поля: provider, social_id, social_page, sex, birthday
Данные в данных полях слабоструктурированы и могут либо вообще отсутствовать, либо их вид может различаться в зависимости от соц. сети.
1.
\templates\ваш_шаблон\plugins\uprofile\users.tplКод:
- тип. соц. сети.
{{ userRec.social_page }} - ссылка на профиль с социальной сети.
{{ userRec.sex }} - пол пользователя.
{{ userRec.birthday }} - дата рождения пользователя.
Пример вывода:
Код:
{% if (userRec.provider) and (userRec.social_page) %}
<tr>
<td>Профиль соцсети:</td>
<td class="second">{{ userRec.social_page }}</td>
</tr>
{% endif %}
{% if (userRec.provider) and (userRec.sex) %}
<tr>
<td>Пол:</td>
<td class="second">{{ userRec.sex }}</td>
</tr>
{% endif %}
{% if (userRec.provider) and (userRec.birthday) %}
<tr>
<td>Дата рождения:</td>
<td class="second">{{ userRec.birthday }}</td>
</tr>
{% endif %}2.
\templates\ваш_шаблон\plugins\uprofile\profile.tpl{{ userRec.sex }} - пол пользователя.
{{ userRec.birthday }} - дата рождения пользователя.
Пример вывода:
Код:
<div class="label label-table">
<label>Пол:</label>
<input type="text" name="editsex" value="{{ userRec.sex }}" class="input" />
</div>
<div class="label label-table">
<label>Дата рождения:</label>
<input type="text" name="editbirthday" value="{{ userRec.birthday }}" class="input" />
</div>
Скачать:auth_social.zip