iOS应用Firebase Auth测试手机号登录权限不足问题求助
检查Firebase Realtime Database规则配置
错误提示Write at errors/+10000000000 failed: Missing or insufficient permissions说明测试手机号的错误日志写入Realtime DB时权限不足。需确认DB规则是否允许Auth用户写入errors节点,可临时设置宽松规则测试(测试后务必改回安全规则):{ "rules": { ".read": "auth != null", ".write": "auth != null" } }也可针对
errors节点单独配置权限,确保测试手机号对应的Auth用户具备写入权限。确认测试手机号的Auth用户状态
登录Firebase控制台的Auth面板,检查测试手机号对应的用户是否存在,是否被禁用或标记异常。若用户被删除/禁用,重新创建该测试用户或解除禁用状态。验证测试手机号的配置格式
确保在Firebase控制台「Auth > 登录方法 > 手机号 > 测试手机号」列表中,准确添加+10000000000(无空格、分隔符),且状态为启用,格式不一致会导致识别异常。修复推送通知转发逻辑
控制台提示This fake notification should be forwarded to Firebase Auth说明模拟推送未正确转发给Auth SDK,需在didReceiveRemoteNotification代理方法中添加Firebase处理逻辑:func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) { if Auth.auth().canHandleNotification(userInfo) { Auth.auth().handleNotification(userInfo) completionHandler(.noData) return } // 其他通知处理逻辑 }同时要覆盖
didReceiveRemoteNotification的两种重载方法,确保前台、后台场景都能正确转发。排查Firebase SDK版本兼容性
检查FirebaseAuth、FirebaseMessaging等SDK版本是否匹配,尝试更新到最新稳定版,旧版本可能存在测试手机号场景的已知bug。确认APNs配置有效性
测试手机号登录依赖APNs模拟验证,检查Firebase控制台中苹果应用的APNs证书是否有效、与当前App Bundle ID匹配;同时确认Xcode中App已开启推送通知能力,Provisioning Profile包含推送权限。
内容的提问来源于stack exchange,提问作者Chris

