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

使用Facebook iOS SDK登录遇Invalid Scopes错误求助排查

解决Facebook iOS登录「Invalid Scopes: public_profile, openid」问题
  • 检查Facebook应用的登录产品配置
    登录Facebook开发者后台,找到你的应用,进入「产品」->「Facebook登录」->「设置」:

    • 如果「客户端OAuth设置」里的「使用Strict模式」是开启状态,必须把public_profile和openid添加到「允许的OAuth范围」中;
    • 确认iOS平台的「有效的OAuth跳转URI」配置正确,格式一般为fb{你的应用ID}://authorize,注意不要写错应用ID。
  • 调整权限请求代码
    在SDK 15.x版本中,public_profile是默认权限,不需要手动添加到请求权限列表里;openid属于OpenID Connect范畴,需要先在后台开启对应功能。如果你的代码里手动指定了public_profile,直接移除即可:

    // 错误写法:手动添加了默认权限public_profile
    let loginManager = LoginManager()
    loginManager.logIn(permissions: ["public_profile", "openid", "email"], viewController: self)
    
    // 修改后的写法
    let loginManager = LoginManager()
    loginManager.logIn(permissions: ["openid", "email"], viewController: self)
    
  • 确认权限的可用状态
    进入「应用审核」->「权限与功能」,查看public_profile和openid的状态,即使是开发模式,也要确保它们处于「开发中可用」或「已批准」状态。另外,需要在「Facebook登录」设置页面专门开启「OpenID Connect」选项。

  • 核对info.plist配置项
    再次检查info.plist的关键配置:

    • FacebookAppID、FacebookDisplayName不能有拼写错误;
    • LSApplicationQueriesSchemes必须包含fbapi、fb-messenger-share-api、fbauth2、fbshareextension这几个字段,缺一不可。
  • 清除缓存重试
    iOS真机上,进入「设置」找到Facebook入口(如果存在),注销登录的账号后重启设备;模拟器可以直接重置内容和设置,之后再测试登录功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 02:10:19