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

Flutter Firebase Auth苹果登录出现unknown错误求助排查

苹果登录Firebase Auth出现[firebase_auth/unknown]未知错误排查

配置与代码中未发现明显错误,但调用Firebase Auth的signInWithCredential方法时触发[firebase_auth/unknown]未知错误。

登录实现代码

Future<UserCredential> signInWithApple() async {
    final appleCredential = await SignInWithApple.getAppleIDCredential(
      scopes: [
        AppleIDAuthorizationScopes.email,
        AppleIDAuthorizationScopes.fullName,
      ],
    );

    final oauthCredential = OAuthProvider("apple.com").credential(
      idToken: appleCredential.identityToken,
      accessToken: appleCredential.authorizationCode,
    );

    // 错误发生在此处
    return await FirebaseAuth.instance.signInWithCredential(oauthCredential);
  }

相关配置截图

Firebase Auth控制台

Firebase Auth控制台

苹果开发者页面

苹果开发者页面1
苹果开发者页面2

XCode配置

XCode配置

重点排查方向

  • 校验Token有效性:打印appleCredential.identityToken和appleCredential.authorizationCode,确认不为空,可尝试用trim()处理后再传入OAuth凭证。
  • 核对配置一致性:
    • 确保Firebase控制台的苹果服务ID与苹果开发者后台的服务ID完全一致。
    • 检查苹果开发者后台的重定向URI是否和Firebase配置的https://<你的项目ID>.firebaseapp.com/__/auth/handler完全匹配。
  • 检查XCode项目配置:
    • 确认已添加Sign in with Apple能力,且团队选择正确。
    • 确保Info.plist中存在NSAppleIDUsageDescription键并填写了合理的权限说明文本。
  • 更新SDK版本:升级firebase_auth和sign_in_with_apple插件到最新稳定版,避免版本兼容问题。
  • 测试环境验证:使用真实设备测试,确保测试账号为开启双重认证的Apple ID或开发者测试用户。
  • 获取详细错误日志:添加try-catch捕获完整错误信息,示例代码:
try {
  return await FirebaseAuth.instance.signInWithCredential(oauthCredential);
} catch (e) {
  print('完整错误详情: $e');
  rethrow;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 16:46:14