You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django项目集成Facebook登录遇认证错误,寻求解决方法

解决Django Facebook登录的重定向URI及域名问题

以下是针对你遇到的两个错误的具体修复步骤:

1. 统一域名与协议,避免混用

你当前的配置混用了127.0.0.1和localhost,且使用了HTTPS(本地Django默认启动的是HTTP服务),这会导致域名匹配失败。请统一为以下任意一种组合:

  • 方案一:使用localhost
    • App Domains:localhost
    • Site URL:http://localhost:8000/
  • 方案二:使用127.0.0.1
    • App Domains:127.0.0.1
    • Site URL:http://127.0.0.1:8000/

注意:本地开发无需强制使用HTTPS,除非你手动配置了SSL证书,否则保持默认HTTP即可。

2. 修正OAuth重定向URI为完整回调路径

你当前填写的https://127.0.0.1:8000/是网站根路径,并非Django处理Facebook登录回调的地址。如果使用的是django-allauth(多数教程默认使用的库),正确的回调路径应该是:

  • 若用localhost:http://localhost:8000/accounts/facebook/login/callback/
  • 若用127.0.0.1:http://127.0.0.1:8000/accounts/facebook/login/callback/

请将这个完整路径添加到有效OAuth重定向URI列表中,确保和Django项目中配置的回调地址完全一致(可检查settings.py中SOCIALACCOUNT_CALLBACK_URL或allauth的默认路由)。

3. 确认OAuth登录功能已启用

在Facebook开发者平台的应用设置中,进入产品 > Facebook登录 > 设置页面:

  • 确保“客户端OAuth登录”和“网页OAuth登录”选项均已勾选启用
  • 确认“强制HTTPS”选项在本地开发时处于关闭状态(除非你配置了SSL)

4. 清理缓存并重新测试

修改配置后,点击Facebook开发者平台的“保存更改”按钮,然后:

  • 关闭当前浏览器的所有标签页,清除浏览器缓存和Cookie
  • 重启Django开发服务器,重新发起Facebook登录请求

内容的提问来源于stack exchange,提问作者yin teh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 00:13:17