【问题标题】:Flutter : How to use Email Verification FIrebase AuthFlutter:如何使用电子邮件验证 FIrebase Auth
【发布时间】:2022-01-24 06:54:26
【问题描述】:

我刚刚为我的第一个应用程序完成了 Firebase 身份验证,但是我想在用户注册时添加 电子邮件验证,请问我该如何做。 p>

class AuthServices {
      final auth.FirebaseAuth _firebaseAuth = auth.FirebaseAuth.instance;
    
  Login? _userFromFirebase(auth.User? user) {
    if (user == null) {
      return null;
    }
    return Login(user.uid, user.email);
  }

  Stream<Login?>? get user {
    return _firebaseAuth.authStateChanges().map(_userFromFirebase);
  }

  Future<Login?> signUp(String email, String password, String name) async {
    final credential = await _firebaseAuth.createUserWithEmailAndPassword(
        email: email, password: password);
    UserService().createUser(name);
    return _userFromFirebase(credential.user);
  }

  Future<Login?> signIn(String email, String password) async {
    final credential = await _firebaseAuth.signInWithEmailAndPassword(
        email: email, password: password);
    return _userFromFirebase(credential.user);
  }

  Future<void> signOut() async {
    return await _firebaseAuth.signOut();
  }
}

【问题讨论】:

    标签: flutter firebase-authentication email-verification


    【解决方案1】:

    这将完成你的工作:-

    final firebaseUser = await FirebaseAuth.instance
    .signInWithEmailAndPassword(email: email, password: password);
     if (firebaseUser.isEmailVerified){ 
           //Verified 
        } 
       else {
       firebaseUser.sendEmailVerification();
          }
    

    【讨论】:

    • 谢谢,但我认为这不是答案。我的意思是,用户可以收到一封验证电子邮件,并且必须先验证电子邮件才能登录
    • 嗨@Juanneilp 我已经更新了我的答案
    • 对不起,我还是不明白,如何根据我的代码获取方法 'isEmailVerified' 和 'sendEmailVerified'?
    猜你喜欢
    • 2020-03-21
    • 2020-07-16
    • 2018-12-15
    • 2020-08-02
    • 2020-12-12
    • 2020-10-19
    • 2021-01-07
    • 2021-08-07
    相关资源
    最近更新 更多