Задать вопрос

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

Доброе время суток.
Мне на сайте нужно осуществить регистрацию при помощи VK. Мне нужно, чтобы на странице при нажатии на кнопку появлялось popup-окно с OAuth формой регистрации ВК. После чего в этом же окне нужно отобразить несколько полей для настройки аккаунта пользователя. В завершение - кнопка "Готово", по нажатию которой происходит создание пользователя в БД и редирект на другой URI.
Я пробовал использовать сначала библиотеку django-social-auth, но как оказалось, она устаревшая. После чего я нашел библиотеку AllAuth и попробовал использовать ее. У меня это почти получилось, но я остановился вот на этой "прекрасной" ошибке:
{
     "error": "invalid_request",
     "error_description": "redirect_uri is incorrect, check application redirect uri in the settings page"
}

Это все, конечно, можно исправить... наверное. Но я понял, что тут много лишнего, мне всего лишь нужно одно окно регистрации.
Собственно, вопрос: как мне реализовать сие чудо? Я понимаю, что полную инструкцию мне тут никто не напишет, поэтому буду очень благодарен, если подскажете, куда мне копать. Может быть есть какие-то моменты при использовании AJAX в Django приложении...
И еще. Как правильно отредактировать настройки приложения (ВК) и локальные настройки так, чтобы можно было вести разработку на локальном сервере (я про такие настройки, как: "Базовый домен", "Доверенный redirect URI")?
  • Вопрос задан
  • 4802 просмотра
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@artinnok
бекенд-программист
django-social-auth deprecated - больше не поддерживается, проект переименован в python social auth.
Python Social Auth - очень удобен в использовании, огромное количество поддерживаемых провайдеров, продуманные связи в моделях, настоятельно рекомендую его.

Если вам интересны другие пакеты для Django, советую пройти по адресу djangopackages.com. На данном сайте собраны все пакеты для Django и классифицированы по категориям.

Вы можете прописать прямо в настройках вашего приложения VK. К примеру:
базовый домен - http://localhost:8000
редирект на - htpp://localhost:8000/success/
Ответ написан
zelsky
@zelsky
django-allauth недавно использовал все устраивало.
Ответ написан
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Идем сюда https://vk.com/dev/openapi

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

При успешном входе на сайт через вк:
Если юзер с данным id есть в БД, то это авторизация. Иначе - сохраняем в БД и перекидываем на страничку настройки созданного профиля.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы