Авторизация через соцсети перед добавлением отзыва

7 7 500
На сайте используется easycomm для реализации отзывов.
Необходимо сделать добавление новых отзывов только после авторизации через соц. сети (к примеру, через дополнение hybridAuth или Personalize) и, соответственно, выводить аватар и ссылку на страницу пользователя в соц. сети.

Предполагается, что поверх формы добавления отзыва будут иконки соцсетей и сообщение, что добавление отзыва доступно после авторизации через соцсеть. И только если пользователь авторизован, то ему доступна форма добавления отзыва.

Создавать пользователей в БД после авторизации не нужно (это важно), можно хранить данные в отдельных ячейках easycomm для каждого отзыва.

Достаточно получить данные пользователя перед добавлением отзыва с помощью oauth и хранить их в куках/сессии, добавив к параметрам хэш (контрольную сумму), чтобы избежать подмены со стороны пользователей.

Таким образом все сводится к такому алгоритму:
1. Человек авторизуется через соц. сеть, после авторизации происходит редирект на callback страницу, которая сохраняет необходимые данные в куках/сессии + добавляет к ним хэш (контрольную сумму);
2. На странице отслеживается наличие требуемых данных, если нет — кнопки для авторизации, есть есть — заполненные input'ы (имя + фамилия, аватар, ссылка на страницу) + опять же хэш;
3. После отправки хук для easycomm сверяет контрольную сумму, если все верно, добавляем отзыв с данными в бд.

Таким образом, можно обойтись без регистрации пользователя в БД.
Юрий
20 апреля 2017, 21:24
modx.pro
1 072
+1

Комментарии в этом разделе отключены, так что вы должны указать свои контакты прямо в объявлении, или активировать отправку сообщений из профиля.

Обратите внимание, что modx.pro не несёт никакой ответственности за выполнение работы или оплату заказа. Это просто доска объявлений, дальше вы общаетесь за пределами нашей площадки.