Django all auth для входа в facebook с использованием строгого режима для перенаправления URI

#django #facebook-login #django-allauth

#django #facebook-login #django-allauth

Вопрос:

Привет, я пытаюсь реализовать вход в Facebook для своего веб-сайта, используя Django Allauth. Поскольку мы больше не можем отключить Use Strict Mode for Redirect URIs , я получаю сообщение об ошибке при попытке входа через facebook.

URL обратного вызова, сформированный во время входа в Facebook, имеет этот формат —

https://example.com/accounts/facebook/login/callback/?code=AQB7W48oY-1XxZv2xU9iahxS80ZPs4oBNLlXWTY7Y93dclyIElEPG-jWKB5ELV7Pv11ckcRYg3L67Wfcz6xqC8yhNLBaFaOQjd4F2AEp8nfScltnY3LoY79g9NjtslCSbQnSlc_hDdBm_rxQtScz-rLChNvAJaky3KYMG_USSTkm9qdyvw5lIMdcIHQjz3CTF8KdgmuFG1T8_WvVqdGDEpfhC_PD7w5tnkcChBEowHnWR656DYa1wrMR1fbP2rqxBocNn6fKPCy_GM_DZynPp8mx0F0YP55vzw2Kv8KchB2nxCaHwQ4dRvJq785w5CfCgDVc6REhbc3CNG2KqZxdxjuGamp;state=eukVyjHYk04X#_=_

Этот URL-адрес содержит параметры запроса code и state из-за чего он не является точным совпадением, и я проверил его, через Redirect URI to Check который сообщил, что он недействителен.

Итак authentication_error.html , я получаю следующую ошибку.

{‘provider’: ‘facebook’, ‘code’: ‘unknown’, ‘exception’: OAuth2Error(‘Ошибка при получении токена доступа: b'{«ошибка»:{«сообщение»: «Не удается загрузить URL: домен этого URL не включен вдомены приложения. Чтобы иметь возможность загружать этот URL-адрес, добавьте все домены и поддомены вашего приложения в поле App Domains в настройках вашего приложения.»,»type»:»OAuthException»,»code»:191,»fbtrace_id»:»AxoTkIBeoUSKsxuWvMx-Wg4″}}»,)}

У моего Valid OAuth Redirect URIs есть следующие URL-адреса

  1. https://example.com/accounts/facebook/login/callback/
  2. https://www.example.com/accounts/facebook/login/callback/

Пожалуйста, помогите мне с этой проблемой, я изучил все существующие проблемы, но не нашел решения.

Ответ №1:

Для тех, кто сталкивается с подобной проблемой, это может быть связано с тем, что вы пропустили добавление этой строки в свой settings.py досье.

ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'https'