Привет, Гость!
Главная
Вход

Последняя активность

Форум / JohnCMS / моды, дизайн / Модули для JohnCMS 6.x.x
Поиск | Файлы топика (2)
  Авторизация\Регистрация через Социальные сети
1 2 3 ... 6 >>
ValekS ValekS (Adm) [Off] [#] (16.06.2016 / 21:10)
Ей 25
Скрипт позволяет входить на сайт или регистрироваться через социальные сети. При регистрации пользователю необходимо ввести логин и пароль.
Все возможные данные - Имя, Фамилия, Пол, E-Mail адрес, Дата рождения, Фото - подхватываются с социальной сети.

Для установки скрипта скопируйте файлы из архива на ваш сайт с заменой и выполните запрос в Базе Данных:
  1. ALTER TABLE `users` ADD `social` TEXT NOT NULL;
  2. ALTER TABLE `users` ADD `social_token` VARCHAR(32) NOT NULL;


Для работы скрипта необходимо ввести данные приложений, зарегестрированных в каждой из соц. сетей, в файле social_auth.php. Не нужные соц. сети можно убрать.

Если у вас изменены файлы которые заменяет скрипт, перенесите изменённый код в свои файлы.
Изм. ValekS (16.06.2016 / 21:34) [1]
Прикреплённый файл:
socauth.zip (45.58 кб.)
Скачано: 462 раз
ayzek ayzek [Off] [#] (16.06.2016 / 21:12)
Ars longa, vita brevis!
Молодец! Все таки сделал
ValekS ValekS (Adm) [Off] [#] (16.06.2016 / 21:13)
Ей 25
Скриншот. Я не дизайнер, сделал иконки как мог(применяется CSS-спрайты). Размер иконок 32x32. Ещё есть пак иконок 48х48 и 64х64. Я просто подбирал какие лучше подойдут. Меньше не делал так как там практически ничего не видно и сложно в них попасть(с телефона например).
Прикреплённый файл:
Нажмите для просмотра изображения
(13.14 кб.)
Скачано: 835 раз
ValekS ValekS (Adm) [Off] [#] (16.06.2016 / 21:20)
Ей 25
Теперь детальнее про сам скрипт: используется отдельная библиотека для работы с АПИ соц сетей - /incfiles/lib/SocialAuther. По этому необходимо для каждой из соц сетей создавать приложение. По другому соц сети не отдадут данные пользователя. О том как создавать приложения напишу ниже.
Не используемые соц сети рекомендуется закомментировать или удалить. В файле social_auth.php(в самом начале), login.php(строка 23-31) и /users/includes/profile/settings.php(строка 107-115).
Изм. ValekS (16.06.2016 / 21:48) [2]
ValekS ValekS (Adm) [Off] [#] (16.06.2016 / 21:27)
Ей 25
Про изменения в файлах. Про login.php и settings.php написано выше. В exit.php добавлена одна строка(20):
setcookie('soctoken', '');
Файл registration.php - изменений довольно много. Вроде бы все прокомментировал, проблем быть не должно.
Файл /incfiles/core.php 28 строка:
spl_autoload_register('autoload', '', true);
Необходимо было немного изменить вызов функции автолоадера классов(точнее регистратора функции автолоадера классов).
Файл /incfiles/classes/core.php - строка 333-339 и строка 346. Это как раз сама авторизация пользователя через соц. сеть.
ValekS ValekS (Adm) [Off] [#] (16.06.2016 / 21:31)
Ей 25
Все про создание приложений.

ВКонтакте:
Шаг 1. Создание нового приложения:
- название: "SocialAuther"
- тип: "Веб-сайт"

Шаг 2. Настройка секции "Open API":
- адрес сайта: httр://ваш_сайт/social_auth.php?provider=vk
- базовый домен: "httр://ваш_сайт"

Шаг 3. Конфигурация параметров client_id, client_secret и redirect_uri:
- client_id - содержится в опции "ID приложения". Пример: 3078654
- client_secret - содержится в опции "Защищенный ключ". Пример: zrCHcmKAcBvblSUIBIwu
- redirect_uri - содержится в опции "Адрес сайта". Пример: httр://johncms.com/social_auth.php?provider=vk


Одноклассники:
Шаг 1. Создание нового приложения:
- Выбираем "Вне Одноклассников"
- Выбираем "oAuth авторизация"

Шаг 2. Настройка приложения:
- название: "SocialAuther"
- shortname: _www.odnoklassniki.ru/game/auther
- ссылка на приложение: httр://ваш_сайт/social_auth.php?provider=odnoklassniki
- "Ссылка на картинку" и "Ссылка на аватарку": ссылка на любое изображение

Шаг 3. Конфигурация параметров client_id, client_secret, redirect_uri, public_key. Всю нужную информацию вы найдёте в письме, которое было отправлено на вашу электронную почту после успешного добавления приложения:
- client_id - Application ID. Пример: 658606315
- client_secret - секретный ключ приложения. Пример: C35045020A8C7C066F25C4C7
- redirect_uri - ссылка на приложение. Пример: httр://johncms.com/social_auth.php?provider=odnoklassniki
- public_key - публичный ключ приложения. Пример: BAMKABABACADCBBAB


Mail.ru
Шаг 1. Создание нового приложения:
- соглашаемся с правилами
- название: "SocialAuther"
- адрес главной страницы: httр://ваш_сайт/social_auth.php?provider=mailru

Шаг 2. Настройка приложения:
- скачиваем предложенный файл receiver.html и помещаем в папку проекта
- для установки на локальный сервер, нажимаем "Пропустить"

Шаг 3. Конфигурация параметров client_id, client_secret, redirect_uri:
- client_id - ID. Пример: 670707
- client_secret - секретный ключ. Пример: a619062972f2073ded61405b8f8eccd2
- redirect_uri - адрес главной страницы. Пример: httр://johncms.com/social_auth.php?provider=mailru


Yandex
Шаг 1. Создание нового приложения
Шаг 2. Настройка приложения:
- Название: "SocialAuther"
- Права: "Яндекс.Логин - Адрес электронной почты; Дата рождения; Имя пользователя, ФИО, пол"
- Callback URI: httр://ваш_сайт/social_auth.php?provider=yandex

Шаг 3. Конфигурация параметров client_id, client_secret, redirect_uri:
- client_id - Id приложения. Пример: bff0bfcaef054ab66c0538b39e0a86cf
- client_secret - Пароль приложения. Пример: 219ba88d386b114b9c6abef7eab4e8e4
- redirect_uri - Callback URI. Пример: httр://johncms.com/social_auth.php?provider=yandex


Google
Шаг 1. Создание нового приложения:
- в меню выбираем "API Access"
- нажимаем на кнопку "Create an OAuth 2.0 Client ID..."

Шаг 2. Настройка приложения:
- API Access: "SocialAuther"
- Нажимаем Next
- Application Type: "Web application"
- Your site or hostname: httр://ваш_сайт
- Нажимаем Create client ID

Шаг 3. Конфигурация параметров client_id, client_secret, redirect_uri:
- client_id - Id приложения. Пример: 333739311538.apps.googleusercontent.com
- client_secret - Пароль приложения. Пример: lZB3aW8UG8gDj6WVIEIcidt5
- redirect_uri - Callback URI. Пример: httр://johncms.com/social_auth.php?provider=google


Facebook
Шаг 1. Создание нового приложения:
- Нажимаем на кнопку "+ Создать новое приложение"
- App Name: "SocialAuther"
- Нажимаем "Продолжить"

Шаг 2. Настройка приложения:
- Нажимаем "Website with Facebook Login"
- Вводим Site URL: httр://ваш_сайт/social_auth.php?provider=facebook

Шаг 3. Конфигурация параметров client_id, client_secret, redirect_uri:
- client_id - App ID. Пример: 346158195993388
- client_secret - App Secret. Пример: 2de1ab376d1c17cd47250920c05ab386
- redirect_uri - Callback URI. Пример: httр://johncms.com/social_auth.php?provider=facebook


С Google могут возникнуть проблемы. Если что пишите.

П.С.
В http:// все р - русские.
Изм. ValekS (16.06.2016 / 21:46) [4]
ValekS ValekS (Adm) [Off] [#] (16.06.2016 / 21:54)
Ей 25
Для выполнения всех действий необходимо нажать только на одну кнопку. Если ваш аккаунт соц сети не привязан к аккаунту на сайте(привязать можно в Настройках) то вы попадаете на Регистрацию. Если привязан происходит аутентификация.
На реализацию Регистрации ушло дня 3. Пробовал разные способы: начиная от автоматической регистрации - если аккаунта соц сети в базе нет, сразу добавляются данные и вас кидает уже зарегистрированного и авторизованного на index.php; и заканчивая тем что есть сейчас. А сейчас происходит редирект на страничку регистрации, где необходимо ввести логин и пароль. Все остальные данные подхватятся с соц сети. По желанию можно регистрацию переделать почти как угодно.
Изм. ValekS (16.06.2016 / 21:55) [1]
MARAZM MARAZM [Off] [#] (16.06.2016 / 22:45)
КИДАЛА!!! Дел не иметь!
зачёт.
ValekS ValekS (Adm) [Off] [#] (16.06.2016 / 23:36)
Ей 25
# MARAZM (16.06.2016 / 22:45)
зачёт.
Трудный зачет. Что самое интересное библиотека для работы с АПИ отказывается работать с движком(когда core.php подключаю). Пришлось решать как то эту проблему. Думал за день напишу такой скрипт и выложу. Но не тут то было.
Точнее даже там постоянно конфликт функций автолоадеров происходил. Из за этого то классы движка не подключались, то классы библиотеки.
Изм. ValekS (16.06.2016 / 23:39) [2]
MARAZM MARAZM [Off] [#] (16.06.2016 / 23:39)
КИДАЛА!!! Дел не иметь!
хм что то мейл и фейсбук отказывается работать с доменом ru
MARAZM MARAZM [Off] [#] (16.06.2016 / 23:53)
КИДАЛА!!! Дел не иметь!
хотя нет уже разобрался)
MARAZM MARAZM [Off] [#] (17.06.2016 / 09:45)
КИДАЛА!!! Дел не иметь!
во всех сервисах кроме фейсбука не пропускает httр://site.ru/social_auth.php?provider=vk
MARAZM MARAZM [Off] [#] (17.06.2016 / 10:00)
КИДАЛА!!! Дел не иметь!
Получается 1 акк можно привязать к нескольким социальным сетям,или я что то не так сделал?
MARAZM MARAZM [Off] [#] (17.06.2016 / 10:10)
КИДАЛА!!! Дел не иметь!
Для вк адрес сайта должен быть site.ru а не вести на авторизацию
Для одноклассников на сайте нужен протокол htpps
Порядок действий немного не совпадает.
Изм. MARAZM (17.06.2016 / 10:10) [1]
MARAZM MARAZM [Off] [#] (17.06.2016 / 10:21)
КИДАЛА!!! Дел не иметь!
а так все нормально.привязал все кроме ок (требует протокол https) и google.com, так как проэкт временно на keo нет возможности подтвердить права на домен.
MARAZM MARAZM [Off] [#] (17.06.2016 / 11:03)
КИДАЛА!!! Дел не иметь!
ссылка на создание приложения ок что ты дал не работает.работает только такая https://ok.ru/dk?st.cmd=appEdi ... false
ну и "вне одноклассников" не могу найти.разобрался теперь это
Тип приложения
Веб (HTML), Внешнее приложение
Изм. MARAZM (17.06.2016 / 11:04) [1]
ValekS ValekS (Adm) [Off] [#] (17.06.2016 / 15:16)
Ей 25
MARAZM, сколько понаписал... Я инструкции не сам писал, брал из описания библиотеки для работы с АПИ. Я сам регистрировал приложения по этим инструкциям и все работало. Да, где то что-то немного изменилось, ссылка там и т.д. Но это не страшно.
С ВК я пробовал разные варианты. Там же есть несколько полей где можно ссылку ввести. Но в принципе хватает одного URL сайта и все.
ValekS ValekS (Adm) [Off] [#] (17.06.2016 / 15:18)
Ей 25
# MARAZM (17.06.2016 / 10:10)
Для вк адрес сайта должен быть site.ru а не вести на авторизацию
Для одноклассников на сайте нужен протокол htpps
Порядок действий немного не совпадает.
Одноклассники не пробовал. Да, пробовал все кроме них. У меня там акка просто нет. Могло что-то измениться.
ValekS ValekS (Adm) [Off] [#] (17.06.2016 / 15:20)
Ей 25
# MARAZM (17.06.2016 / 10:00)
Получается 1 акк можно привязать к нескольким социальным сетям,или я что то не так сделал?
Да. Ты можешь в настройках привязать свой аккаунт на сайте к любым соц сетям. Хочешь к одной, хочешь к нескольким. Потом при авторизации ты можешь выбирать через какую соц сеть авторизоваться.
MARAZM MARAZM [Off] [#] (17.06.2016 / 15:47)
КИДАЛА!!! Дел не иметь!
ValekS, инструкции немного устарели но имея немного логики и прямых рук все получится.Пошаманил с настройками все получилось. В ок вроде все получилось но все равно как то не так. возвращает на белую страницу.думаю разберусь.
  Всего: 111
1 2 3 ... 6 >>

Фильтр по автору
Скачать тему

Форум

Новые вверху
Главная
0 / 85

JohnCMS 7.1.0

Яндекс.Метрика
© JohnCMS