Flutter中FirebaseAuth signInWithEmailAndPassword抛出invalid-credential异常原因
解决Firebase Auth 'invalid-credential' 登录异常的排查方案
检查账号邮箱验证状态:登录Firebase控制台,进入「Authentication」→「用户」页面,查看目标账号的邮箱已验证状态。若未验证,要么开启邮箱验证流程,要么在「Authentication」→「设置」→「登录方法」→「邮箱/密码」中关闭「需要验证邮箱」选项。
排查密码有效性与规则匹配:虽然账号通过
createUserWithEmailAndPassword创建,但可尝试在Firebase控制台重置该账号密码后重新登录测试,同时确认控制台的密码规则未发生变更导致旧密码不符合要求。清理本地Auth缓存:本地缓存的旧凭证可能引发冲突,登录前执行以下代码清除缓存:
await FirebaseAuth.instance.signOut(); await FirebaseAuth.instance.clearPersistence();之后重新调用
signInWithEmailAndPassword尝试登录。验证Firebase依赖版本兼容性:确认
firebase_auth: ^4.16.0与其他Firebase相关依赖(如firebase_core)版本匹配,可参考pub.dev上的版本说明,避免版本不匹配导致的异常。检查输入内容的合法性:打印
email和password的字符串长度与内容,确认无隐藏字符(如首尾空格)导致实际输入与预期不符。排查多因素认证状态:若账号开启了多因素认证,直接调用
signInWithEmailAndPassword会触发invalid-credential异常,需在Firebase控制台检查账号的多因素认证配置,并完成对应的认证流程。
内容的提问来源于stack exchange,提问作者Carl Smith
相关产品推荐
相关产品推荐

