如何处理扑扑的Firebase身份验证异常?

时间:2019-12-13 18:38:34

标签: firebase flutter dart firebase-authentication

我已经开发了一个登录页面。但是我不知道如何在flutter上捕获firebase auth异常并显示它们。我想显示不存在的电子邮件,密码不匹配。

这是我的代码:

Future<void> login() async{
    final  formState = _formkey.currentState;
    if(formState.validate()){
      formState.save();
      try{

        final FirebaseUser user = (await FirebaseAuth.instance.signInWithEmailAndPassword(email: _username, password: _password)).user;

          Navigator.push(context, MaterialPageRoute(builder: (context) => Admin()));
      }catch(e){
        print(e.message);
      }

有人可以帮我找到一种验证登录名的方法吗。

2 个答案:

答案 0 :(得分:2)

您可以使用Toast来显示错误:

# add this line to your dependencies
toast: ^0.1.5

然后在dart文件中将其导入:

import 'package:toast/toast.dart';

然后在陷阱内:

 }catch(e){
        print(e.message);
    Toast.show(e.message, context, duration: Toast.LENGTH_SHORT, gravity:  Toast.BOTTOM);    
 }

https://pub.dev/packages/toast

您不必检查电子邮件是否正确,signInWithEmailAndPassword已经为您完成了该操作,如果身份验证错误,则会返回错误。

答案 1 :(得分:0)

如果您只想显示消息,则可以只将e.message中的catch block显示给用户。