Внезапная ошибка Django: "AuthMissingParameter at /complete/google-oauth2/", при использовании GoogleOAuth2 из пакета social-auth-app-django
У меня есть работающее приложение Django (работает уже 2 года+). Я использую social-auth-app-django для управления аутентификацией пользователей в Google.
Сегодня внезапно я получил ошибки от пользователей, которые не могут попасть внутрь моего приложения. Я также получаю ту же ошибку на локальной и производственной среде:
Мои settings.py
связанные параметры таковы:
AUTHENTICATION_BACKENDS = (
'social_core.backends.google.GoogleOAuth2',
'django.contrib.auth.backends.ModelBackend',
)
## Google Credentials
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = os.environ.get('GOOGLE_AUTH_KEY')
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = os.environ.get('GOOGLE_AUTH_SECRET')
print("TESTING")
print("SOCIAL_AUTH_GOOGLE_OAUTH2_KEY:\n", SOCIAL_AUTH_GOOGLE_OAUTH2_KEY)
print("SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET:\n", SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET)
SOCIAL_AUTH_URL_NAMESPACE = 'social'
SOCIAL_AUTH_LOGIN_REDIRECT_URL = 'http://MyAppHost/complete/google-oauth2/'
# Login URL
LOGIN_URL = '/login/google-oauth2/'
# Where user is directed after login/logout
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/'
Я дважды проверил, что SOCIAL_AUTH_GOOGLE_OAUTH2_KEY и SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET действительно соответствуют тому, что я вижу на странице google API-credentials
Более того, я проверил, что мои авторизованные URI перенаправления настроены правильно.
Когда я пытаюсь ввести URL, представленный в redirect_uri
(http://localhost:5000/complete/google-oauth2/), я получаю ошибку:
AuthMissingParameter at /complete/google-oauth2/
Missing needed parameter state
Request Method: GET
Request URL: http://localhost:8000/complete/google-oauth2/
Django Version: 2.2.3
Exception Type: AuthMissingParameter
Exception Value:
Missing needed parameter state
Exception Location: /Volumes/dev/venv/lib/python3.6/site-packages/social_core/backends/oauth.py in validate_state, line 85
Python Executable: /Volumes/dev/venv/bin/python3
Python Version: 3.6.2