无法加载网址:此网址的域名未包含在应用的网域中。 Django Facebook Auth

时间:2018-03-26 11:00:56

标签: python django facebook-login django-socialauth

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

  

无法加载网址:此网址的域名未包含在应用内容中   域。要加载此URL,请添加所有域和子域   你的应用程序在应用程序设置中的应用程序域字段

但是App域设置中的域名很好。我想我在redirct_uri设置中犯了错误。我在Facebook Developers小组上阅读了很多讨论,但无法找到解决方案。任何人都可以帮助我 enter image description here

2 个答案:

答案 0 :(得分:7)

终于搞清楚了! 在出现错误的页面上(下面的屏幕截图),您会注意到一个名为“redirect_uri”的url参数。您需要复制此文本,然后使用以下网站对其进行解码:url-encode-decode.com。最后,您需要将该确切文本用作“有效的oauth重定向URI”字段。

error message

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

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

一旦你这样做,你将在Facebook错误页面上有一个没有参数的重定向URI,这对你有用。

更新到social-auth-core版本1.7之后,以下内容适用于我:

working redirect uris

答案 1 :(得分:0)

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