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

Что такое redirect uri и как его сделать в django?

После подключения allauth приступил к созданию приложений для разных соцсетей. Везде есть такое поле как redirect uri. Где-то это обязательное поле, где-то нет. Я не совсем понял, что это за поле и почему нельзя просто указать реальную страницу, на которую после авторизации под аккаунтом соцсети, пользователя будет перекидывать (Например корень).
- в VK это поле необязательное и его можно оставить пустым. Если указать главную страницу сайт, то каждый раз будет возвращаться json "Redirect URI does not match registered redirect URI". В итоге оставил поле пустым и после этого стал залогиниваться под учеткой вк.
- в facebook такого нет. Есть Домены приложений куда надо добавить адрес своего сайта. Я добавил, но так и не могу зайти под учеткой fb - пишет "Невозможно загрузить URL: Домен этого URL не включен в список доменов приложения. Чтобы загрузить этот URL, добавьте все домены и поддомены своего приложения в поле «Домены приложения» в настройках вашего приложения."
- в twitter все просто (как же я люблю твитур с ним всегда все просто). Поле Callback URL есть. Оно не обязательное и если ввести тот адрес, что указан в докусентации, то все отлично работает "127.0.0.1:8000/accounts/twitter/login/callback"
- Одноклассники - то же самое поле есть в приложении и оно обязательное, если указать то что написано в документации - "example.com/accounts/odnoklassniki/login/callback" то при авторизации через ОК получаем ответ от одноклассников "Указанный redirect_uri не зарегистрирован в настройках приложения.
redirect_uri: xxx.com/accounts/odnoklassniki/login/callback"

Что это за адрес? Как его зарегистрировать в django? что нужно что бы api перестали ругаться и начали нормальн опускать?

p.s. - естественно вместо адреса example.com и 127.0.0.1:8000 я использовал адрес своего сайта.
  • Вопрос задан
  • 2983 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
почитайте про OAuth2, в том числе на Хабре
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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