Django-allauth - вызов обратного вызова напрямую (из стороннего приложения) возвращает ошибку
РЕДАКТИРОВАНИЕ:
Я только что понял, что он ищет параметр state
в OAuth2CallbackView
:
if self.adapter.supports_state:
login.state = SocialLogin.verify_and_unstash_state(
request, get_request_param(request, "state")
)
else:
login.state = SocialLogin.unstash_state(request)
ENDEDIT
Который затем понимает, что ни один state
не был передан в качестве параметра запроса, и возвращает ошибку.
У некоторых сторонних приложений, таких как Hubspot или Pipedrive, есть свой маркетплейс. Они перечисляют мое приложение там, и там есть кнопка "install", которая генерирует параметр code
и перенаправляет на https://mywebsite.com/accounts/<provider>/login/callback/?code=<SOME_CODE_THAT_THEY_GENERATED>
Проблема в том, что allauth
показывает ошибки в таких случаях вместо того, чтобы автоматически подписывать или регистрировать пользователей.
Social Network Login Failure
Когда я пытаюсь зарегистрироваться обычным способом, например, перейдя по ссылке: /accounts/<provider>/login/
- все работает правильно и пользователь зарегистрирован или вошел в систему.
Вы знаете, должно ли это работать и где проблема?