无法加载 URL:此 URL 的域未包含在应用的域中。 Django Facebook 身份验证

Can't load URL: The domain of this URL isn't included in the app's domains. Django Facebook Auth

我一直在为我的 Django 应用程序使用 facebook 登录。最近 facebook 通过为所有应用程序启用严格模式更新了其安全功能。进行此更改后,用户将无法登录网站,如下所示错误

Can't load URL: The domain of this URL isn't included in the app's domains. To be able to load this URL, add all domains and sub-domains of your app to the App Domains field in your app setting

但是App域名设置里的域名没问题。我认为我在 redirct_uri 设置中犯了错误。我在 Facebook Developers group 上阅读了很多讨论,但找不到解决方案。谁能帮帮我

终于明白了! 在出现错误的页面(下面的屏幕截图)上,您会注意到一个名为 "redirect_uri" 的 url 参数。您需要复制此文本,然后使用如下站点对其进行解码:url-encode-decode.com。最后,您需要使用该确切文本作为您的 "Valid oauth redirect URIs" 字段。

重要提示:起初,当我这样做时,我注意到 redirect_uri 参数包含一个名为 redirect_state 的参数,每次您更改登录。

这使得无法在 Facebook 登录配置中列出所有重定向 URI。如果您看到 redirect_state 参数,则需要将 social-auth-core Python 软件包更新到 > 1.6 的版本(我从 here 获得此信息)

完成后,您将在 Facebook 错误页面上获得一个不带参数的重定向 URI,这对您有用。

更新到 social-auth-core 1.7 版后,以下内容对我有用:

  1. 转到developer.facebook.com
  2. 添加重定向URL