Раньше я работал над своим приложением Django на локальном сервере, и все мои настройки работают с django-allauth (я использовал manage.py runserver
, а не nginx + gunicorn для постановки/производства)Не удалось войти в систему Facebook с помощью django-allauth
Теперь я реализую django-allauth на своем промежуточном веб-сайте, но я не могу заставить его работать на моем промежуточном сервере (Примечание: в этом примере я заменил свое доменное имя на mydomain.com
).
В основном после того, как я нажал на ссылку для входа в систему с Facebook на http://staging.mydomain.com/accounts/login/, он перенаправляет на https://www.facebook.com/dialog/oauth?response_type=code&state=YXdAxg2WiIBo&redirect_uri=http%3A%2F%2Fstaging.mydomain.com%2Faccounts%2Ffacebook%2Flogin%2Fcallback%2F&client_id=1600059933550804&scope=email&auth_type=reauthenticate и я получаю следующие ошибки:
Данный URL не допускается в конфигурации приложения .: Один или больше данные URL-адреса не допускаются настройками приложения. Он должен соответствовать URL-адресу веб-сайта или URL холста, или домен должен быть поддоменом одного из доменов приложения.
Вот мои настройки файлов:
Nginx конф файл
server {
listen 80;
server_name staging.mydomain.me;
location /static {
alias /home/myusername/sites/staging.mydomain.me/static;
}
location/{
proxy_set_header Host $host;
proxy_pass http://unix:/tmp/staging.mydomain.me.socket;
}
}
settings.py
...
SITE_ID = 1
LOGIN_REDIRECT_URL = '/'
ACCOUNT_EMAIL_REQUIRED = True
SOCIALACCOUNT_PROVIDERS = {
'facebook': {
'SCOPE': ['email'],
'AUTH_PARAMS': {'auth_type': 'reauthenticate'},
'METHOD': 'oauth2',
'VERIFIED_EMAIL': False,
}
}
AUTH_USER_MODEL = 'users.User'
ACCOUNT_ADAPTER = 'users.adapters.AccountAdapter'
ACCOUNT_SIGNUP_FORM_CLASS = 'users.forms.UserApplicationForm'
ACCOUNT_LOGOUT_ON_GET = True
...
Настройки в Facebook приложение
Настройки в Сайты [http://staging.mydomain.com/admin/sites/site/1/]
Настройки социального применения [http://staging.mydomain.com/admin/socialaccount/socialapp/2/]