Как осуществить регистрацию пользователей через 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")?
  • Вопрос задан
  • 4688 просмотров
Пригласить эксперта
Ответы на вопрос 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 есть в БД, то это авторизация. Иначе - сохраняем в БД и перекидываем на страничку настройки созданного профиля.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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