如何配置Facebook以启用django服务器的“facebook登录”?

时间:2016-06-24 08:41:08

标签: django facebook oauth django-allauth

我有困难配置Facebook开发者页面,以便使用基于django和django-allauth的网站的“facebook身份验证”。

这是上下文:

DNS : www.mysite.com
Subdomain  for development : dev.mysite.com redirected to XX.XX.XX.XX :8000

服务器在简单的家用路由器后面的Windows PC上运行。我用通常的命令启动它:

Django runserver 0.0.0.0 :8000

与服务器的连接:dev.myste.com没问题

但点击“使用Facebook登录”按钮会出现此错误:

URL Blocked: This redirect failed because the redirect URI is not whitelisted in the app’s Client OAuth Settings. Make sure Client and Web OAuth Login are on and add all your app domains as Valid OAuth Redirect URIs.

Facebook配置是:

设置/基本:

App Domains= mysite.com
Site url : dev.mysite.com

产品/登录:

Client OAuth Login : Yes
Web OAuth Login: Yes
Embedded Browser OAuth Login : Yes
Force Web OAuth Reauthentication : No
Valid OAuth redirect URIs: http://dev.mysite.com
Login from Devices: No

感谢您的帮助和关注。

1 个答案:

答案 0 :(得分:1)

使用Firebug,我看到django服务器向facebook发送以下oauth请求。

https://www.facebook.com/dialog/oauth?scope=email&state=RXBpz0X5agrX&redirect_uri=http%3A%2F%2FXX.XXX.XXX.XX%3A8000%2Faccounts%2Ffacebook%2Flogin%2Fcallback%2F&response_type=code&client_id=ABCDEFGF

请注意请求中的redirect_uri参数。 我将redirect_uri参数添加到facebook / login页面中的“Valid OAuth redirect URIs”字段中,它立即生效。