hell0w0rd
@hell0w0rd
Просто разработчик

Как реализовать регистрацию в сайте на Symfony через VK?

Есть проект на симфони, основная масса пользователей будут авторизоваться через VK-oauth. Но этих пользователей нужно хранить не только в сессии, но и в базе, для возможности раздавать баны/добавлять в группы и тд. В общем помимо VKid нужен внутренний ID в приложении на каждого пользователя.
Пока писал основную часть использовал FOSUserBundle, сейчас поискал, нашел https://github.com/hwi/HWIOAuthBundle, после длительных попыток настроить, стало понятно, что бандл дает возможность создать "ключницу", то есть авторизацию через vk, но не регистрацию.

В общем возможно кто-то сталкивался с такой задачей, или просто писал свой простой бандл с пользователями для симфони, чтобы в него просто можно было влезть и добавить нужно функциональности.
  • Вопрос задан
  • 6211 просмотров
Решения вопроса 1
hell0w0rd
@hell0w0rd Автор вопроса
Просто разработчик
Разобрался, написал пост nkt.me/2014/08/10/configure-symfony-oauth
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@shagguboy
а чем авторизация отличается от регистрации? vk_id получить можно. остальные данные тоже.
Ответ написан
Комментировать
GHua
@GHua
Можно, можно через него регистрировать. К сожалению, сейчас не могу посмотреть.
Помню только что после connect-а, пользователя перебрасывал на страницу упрощенной регистрации и он там нажав подтверждение получал уже пользователя в базе с id => vk_id.

Делалось почти все средствами HWIOAuthBundle. Дока у них хромает, да.
Если до вечера решения не будет, могу посмотреть как там я делал.
Ответ написан
artoodetoo
@artoodetoo
https://gist.github.com/danvbe/4476697
после того как я этот пример попробовал, я обнаружил, что и в моих сборках возможна регистрация, даже без кастомных классов.

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

что-то из этого влияло, а что не помню. это шаманство чистой воды:

security:
    firewalls:
        main:
            oauth:
                # должны быть указаны чтобы получалась регистрация
                failure_path: /connect
                login_path: /login
                check_path: /connect
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы