Firebase/Flutter环境下Apple登录功能无法正常使用问题排查
解决Firebase Apple登录提示"Code flow is not enabled for Apple"的问题
问题核心
你遇到的错误[firebase_auth/operation-not-allowed] ... [ Code flow is not enabled for Apple. ],本质是Firebase控制台的Apple登录配置中,代码流(Code Flow)未启用,而你使用的signInWithProvider方法依赖该模式。
解决步骤
- 打开Firebase控制台,进入你的项目 → Authentication → 登录方法 → 找到Apple登录选项
- 在Apple登录的配置页面,找到**"启用代码流"**选项并勾选(默认可能未开启)
- 保存配置,等待几分钟让设置生效后重新测试登录
额外检查项
- 确认Apple开发者账号中,Sign in with Apple的返回URL与Firebase控制台Apple登录配置里显示的回调URL完全一致
- 确保Apple开发者账号中已为你的App ID启用Sign in with Apple,并配置了正确的服务ID
- 再次下载最新的
google-services.json文件替换项目中的旧文件(虽然你已经做过,但配置更新后重新下载更稳妥)
代码补充说明
如果你不想启用代码流,也可以改用基于授权码的登录方式(需要手动处理Apple登录的授权码获取,再传给Firebase),但signInWithProvider方式必须依赖代码流,所以优先建议启用控制台的代码流选项。
内容的提问来源于stack exchange,提问作者mike hennessy
相关产品推荐
相关产品推荐

