Я получил доступ к Twitter и Google с помощью Django all-auth. Возникли проблемы с Facebook. Пробовал каждую комбинацию между localhost / 127.0.0.1 / и т. д. (Также пошел по экстремальным маршрутам, изменив мои хосты на local.domain.com - даже получил SSL, поскольку Facebook, по-видимому, блокирует доступ по http (с марта 2018 года).
Дошел до этого ... теперь я получаю эту ошибку Может ли кто-нибудь привести меня в правильное русло? Я собираюсь вырвать волосы.
KeyError at /accounts/facebook/login/token/ 'access_token' Request Method: POST RequestURL: https://localhost:8000/accounts/facebook/login/token/ Django Version: 2.0.3 Exception Type: KeyError Exception Value:
'access_token'
{'error': {'code': 5,
'fbtrace_id': 'Bs4PHOvc+rZ',
'message': "This IP can't make requests for that application.",
'type': 'OAuthException'}}
Детали дополнения:
http: // локальный: 8000 / учетные записи / facebook / логин / обратный вызов
SOCIALACCOUNT_PROVIDERS = {
'facebook': {
'METHOD': 'js_sdk',
'SCOPE': ['email', 'public_profile', 'user_friends'],
'AUTH_PARAMS': {'auth_type': 'reauthenticate'},
'INIT_PARAMS': {'cookie': True},
'FIELDS': [
'id',
'email',
'name',
'first_name',
'last_name',
'verified',
'locale',
'timezone',
'link',
'gender',
'updated_time',
],
'LOCALE_FUNC': lambda request: 'en_GB',
'EXCHANGE_TOKEN': True,
'VERIFIED_EMAIL': False,
'VERSION': 'v2.5',
}
}





Django 1.4.15, django-allauth 0.18.0, API обновления Facebook v2.8
Начиная с марта 2018 года, Facebook по умолчанию устанавливает «Использовать строгий режим для URls перенаправления» ДА. Моя проблема была в конфигурации приложения Facebook, а не в django-allauth.
Снова работаем Настройки приложения:
Настройки Основные
- Домены приложений: AnySite.com
- URL политики конфиденциальности: "https://AnySite.com/myprivacy/"
- Сайт: "https://AnySite.com/"
Настройки Расширенные
- Белый список IP-адресов сервера: оставьте поле пустым
- Менеджер домена: оставьте поле пустым
Настройки входа в Facebook
Да Клиент OAuth Login
Да Вход через Интернет по OAuth
Да (новое: принудительно) Использовать строгий режим для перенаправления URL-адресов
Да Встроенный браузер OAuth Login
Да Применять HTTPS
Действительные URL-адреса перенаправления OAuth: "https://AnySite.com/accounts/facebook/login/callback/" (обязательно)
Надеюсь, поможет.
Большое спасибо, дружище! Я очень ценю это. Сработало отлично!
Обновите, если кто-то еще борется с этим в 2020 году:
У разработчиков facebook:
В django:
pip install django-sslserverpython manage.py runsslserverВ админке: