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

Как реализовать соц авторизация через django-rest-auth?

В официальной документации django-rest-auth сказано только про настройку endpoint'а для post-запроса.
А про то, куда, собственно, прописывать секретные ключи и id'шники приложений (например, vk или google) ничего. Находил материалы, в которых говорится, что в settings.py нужно прописать:
SOCIAL_AUTH_VK_OAUTH2_KEY = 'id_vk_app'
SOCIAL_AUTH_VK_OAUTH2_SECRET = 'secret_key_vk_app'

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = 'PRETTY_VERBOSE_GOOGLE_APP_ID'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = 'GOOGLE_APP_SECRET'


А ссылки на авторизацию через эти сервисы нужно делать вручную. То есть вырисовывается примерно такая схема:

1. Пользователь на сайте жмет кнопку соц регистрации
2. Своей функцией переадресовываем его по адресу авторизации через сервис (vk, google)
3. Пользователь подтверждает авторизацию.
4. Сервис переадресовывает пользователя по редиректу GET запросом. То есть он не вызывает настроенный endpoint
5. Мы (как-то) реагируем на этот GET запрос, парсим его и передаем необходимые параметры (token или code) в POST запрос endpoint'а django-rest-auth.
6. И вот тут у меня проблемы.

Чтобы проверить, работает ли вообще настроенный endpoint, я вручную отправил POST запрос с указанным токеном. Как итог, django выдал мне ошибку "SocialApp matching query does not exist." и я не знаю, что дальше делать.. И как вообще это нужно настраивать правильно. Буду благодарен любой помощи!)
  • Вопрос задан
  • 731 просмотр
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
webus
@webus
Golang | Python | NodeJS | Java
Дак заполните модель SocialApp в админке то. Там прописывается ключ и токен соц.сети.
Ответ написан
Ваш ответ на вопрос

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

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