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

Django中Facebook登录失败求助:重定向失败及HTTPS报错

Facebook登录配置报错排查求助

问题详情

  • Google登录已完成配置并正常运行,但Facebook登录持续报错(对应截图:Facebook登录报错)
  • 若移除HTTP方法限制,会触发新报错:You can't get an access token or login to this app from an insecure page. Try re-loading the page as https://
  • 已在Facebook开发者后台正确添加Client ID和密钥,问题已持续两天未解决
  • 补充配置截图:Facebook相关配置截图

当前配置代码

SOCIALACCOUNT_PROVIDERS = {
    'google': {
        'SCOPE': [
            'profile',
            'email',
        ],
        'AUTH_PARAMS': {
            'access_type': 'online',
        }
    }
}
\
     {
    'facebook': {
        'METHOD': 'oauth2',
        # 'SDK_URL': '//connect.facebook.net/{locale}/sdk.js',
        'SCOPE': ['email', 'public_profile'],
        'AUTH_PARAMS': {'auth_type': 'reauthenticate'},
        'INIT_PARAMS': {'cookie': True},
        'FIELDS': [
            'id',
            \"email\"
            'first_name',
            'last_name',
            'middle_name',
            'name',
            'name_format',
            'picture',
            'short_name'
        ],
        'EXCHANGE_TOKEN': True,
        'LOCALE_FUNC': 'path.to.callable',
        'VERIFIED_EMAIL': False,
        'VERSION': 'v13.0',
        'GRAPH_API_URL': 'https://graph.facebook.com/v13.0',
    }
}


ACCOUNT_DEFAULT_HTTP_PROTOCOL=\"https\"
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_AUTHENTICATION_METHOD = 'email'

排查修复建议

  • 修正配置语法错误
    原配置中SOCIALACCOUNT_PROVIDERS被拆分为两个独立字典,且FIELDS列表内email字段缺少逗号,会直接导致配置失效。修正后的完整配置如下:

    SOCIALACCOUNT_PROVIDERS = {
        'google': {
            'SCOPE': ['profile', 'email'],
            'AUTH_PARAMS': {'access_type': 'online'}
        },
        'facebook': {
            'METHOD': 'oauth2',
            # 'SDK_URL': '//connect.facebook.net/{locale}/sdk.js',
            'SCOPE': ['email', 'public_profile'],
            'AUTH_PARAMS': {'auth_type': 'reauthenticate'},
            'INIT_PARAMS': {'cookie': True},
            'FIELDS': [
                'id',
                'email',
                'first_name',
                'last_name',
                'middle_name',
                'name',
                'name_format',
                'picture',
                'short_name'
            ],
            'EXCHANGE_TOKEN': True,
            'LOCALE_FUNC': 'path.to.callable',
            'VERIFIED_EMAIL': False,
            'VERSION': 'v13.0',
            'GRAPH_API_URL': 'https://graph.facebook.com/v13.0',
        }
    }
    
    ACCOUNT_DEFAULT_HTTP_PROTOCOL="https"
    ACCOUNT_EMAIL_REQUIRED = True
    ACCOUNT_AUTHENTICATION_METHOD = 'email'
    
  • 强制HTTPS环境
    Facebook OAuth2要求必须在HTTPS环境下运行,本地开发可使用ngrok等工具生成HTTPS代理地址;生产环境需确保服务器配置了有效的SSL证书,且所有回调地址均为HTTPS格式。

  • 检查Facebook开发者后台设置

    1. 确认应用状态为「Live」(开发模式仅允许添加的测试用户登录)
    2. 验证Valid OAuth Redirect URIs配置的地址与应用内回调地址完全一致,且为HTTPS格式
    3. 检查App Domains、Privacy Policy URL等必填项是否已正确填写
    4. 核对Client ID和Client Secret是否与后台完全匹配,无拼写错误或空格
  • API版本与权限验证

    • 尝试将Facebook API版本升级至较新的稳定版本(如v18.0),避免旧版本API的兼容性问题
    • 确认SCOPE中申请的权限已在后台通过审核(开发模式下测试用户无需审核)

内容的提问来源于stack exchange,提问作者Victor Calimano

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 13:10:26