基于PHP Graph SDK的Facebook登录授权异常问题求助
问题诊断与解决思路
核心问题
使用PHP Graph SDK实现Facebook登录授权功能,开发者本人登录可正常获取用户数据并存入数据库,但其他用户登录时弹出错误提示:
Facebook Login is currently unavailable for this app since we are updating additional details for this app. Please try again later.
排查与修复步骤
1. 检查应用模式设置
Facebook新创建的应用默认处于开发模式,仅添加到「开发者角色」或「测试用户」列表的账号能正常登录:
- 进入Facebook开发者后台,找到目标应用
- 切换到「设置」→「基本」页面,查看「应用模式」
- 若为开发模式,可选择:
- 提交应用审核,切换为上线模式(需完成隐私政策URL填写、用户数据用途说明等必填项)
- 临时将测试用户添加到「角色」→「测试用户」列表中,实现有限范围测试
2. 确认权限审核状态
若应用请求了public_profile、email以外的扩展权限,未通过Facebook审核的权限仅对开发者/测试用户开放:
- 进入「应用审核」→「权限与功能」页面
- 检查已请求权限的状态,移除未审核通过的非必要权限;若需保留,提交权限审核申请
3. 验证OAuth回调配置
回调URL不匹配会导致非开发者用户登录失败:
- 进入「产品」→「Facebook登录」→「设置」页面
- 确认「有效的OAuth重定向URI」与代码中
redirect_uri参数完全一致(包含HTTP/HTTPS协议、完整域名及路径) - 确保回调URL所在域名已添加到「设置」→「基本」→「应用域」白名单
4. 检查SDK版本与代码逻辑
- 确保使用的PHP Graph SDK为最新稳定版,旧版本可能存在兼容性问题
- 核对
oauth-user.php中的授权流程:- 确认获取访问令牌的逻辑未限制仅开发者账号访问
- 检查用户数据请求的权限范围与应用配置的权限一致
5. 查看应用错误日志
进入Facebook开发者后台「事件管理」→「日志」页面,查看具体错误详情,日志会包含权限缺失、回调错误等更精准的失败原因
内容的提问来源于stack exchange,提问作者Rana Tahir
相关产品推荐
相关产品推荐

