用途:在 Flutter 项目中正确集成 Firebase Authentication,覆盖认证搭建、状态管理、多种登录方式与用户管理。
主要能力:初始化 Firebase 并接入本地模拟器(FirebaseAuth.instance.useAuthEmulator('localhost', 9099));通过 authStateChanges()、idTokenChanges()、userChanges() 监听认证状态;实现邮箱密码注册与登录、Google/Apple 社交登录、手机号认证、邮件链接登录与多因素认证;管理用户资料、邮箱更新、账号关联与错误处理。
使用方式:先执行 flutter pub add firebase_auth,导入 package:firebase_auth/firebase_auth.dart,在 Firebase 控制台启用所需登录提供方,并在使用前初始化 Firebase。邮箱密码登录用 createUserWithEmailAndPassword 与 signInWithEmailAndPassword,配合 FirebaseAuthException 的 e.code 处理错误。社交登录使用 GoogleAuthProvider、AppleAuthProvider 等凭据调用 signInWithCredential 或 signInWithPopup。修改邮箱应使用 verifyBeforeUpdateEmail()。
适用场景:Flutter 应用的登录注册、会话管理、社交与手机号登录、账号关联及安全加固。
限制:手机号登录仅支持真机与 Web,模拟器不支持;Windows 不支持 MFA,Flutter 不支持多租户 MFA;iOS 的 recaptcha-sdk-not-linked 需在原生或 GCP 层解决,无法仅靠 Dart 修复;自 2023 年 9 月起新项目默认启用邮箱枚举保护,错误码变为 invalid-credential;Dynamic Links 已弃用,邮件链接登录改用 Firebase Hosting。具体配置细节以官方文档为准。