Я использую фреймворк django с python-social-app и у меня ошибка при попытке войти с помощью кнопки входа в Facebook.
Мое приложение состоит из трех док-контейнеров:
- Приложение Django.
- База данных.
- NGINX + SSL-сертификат.
Вот моя ошибка:
Процесс аутентификации отменен: URL заблокирован: перенаправление не выполнено
потому что URI перенаправления не внесен в белый список в OAuth клиента приложения
Настройки. Убедитесь, что Client и Web OAuth Login включены, и добавьте все свои
домены приложения как действительные URI перенаправления OAuth.
Blockquote
и вот URL, который я вижу при попытке войти
https://www.facebook.com/v2.9/dialog/oauth?client_id=247739632734206&redirect_uri=http%3A%2F%2Fwww.DOMAN_NAME.com%2Fcomplete%2Ffacebook%2F&state=7AySpKwDWAKtiIxP75LBIPqwQNWSu36y&return_scopes=true
Проблема, насколько я понимаю, состоит в том, что redirect_uri начинается с HTTP, а не с HTTPS.
Django==2.2
social-auth-app-django==3.1.0
social-auth-core==3.1.0
Мое лучшее предположение о проблеме заключается в том, что приложение Django не «знает», что оно работает за NGINX + SSL и генерирует redirect_uri с протоколом HTTP вместо HTTPS.
Настройки Facebook имеют правильный URI перенаправления, который начинается с HTTPS. Проблема не относится к Facebook, redirect_uri для Google имеет ту же проблему.
Как я могу заставить Python-social использовать HTTPS?