gpt4 book ai didi

firebase - 在 flutter 中验证电子邮件时不会调用 onAuthStateChanged

转载 作者:IT王子 更新时间:2023-10-29 07:23:03 25 4
gpt4 key购买 nike

当用户在我的应用程序中注册时,他会收到一封验证电子邮件。 onAuthStateChanged - 监听器在使用 createUserWithEmailAndPassword 创建用户时调用,但在验证电子邮件后不会调用。

我有一个单独的类来处理所有身份验证。下面的方法是注册用户

Future<FirebaseUser> signUpUser(email, password) async {
final FirebaseUser user = await _auth.createUserWithEmailAndPassword(email: email, password: password);

assert (user != null);
assert (await user.getIdToken() != null);

return user;
}

在我的StatefulWidget中使用这个方法调用了这个方法

void _signUpUser() async {
try {
await Auth().signUpUser(_email, _password)
..sendEmailVerification();
} catch (e) {
print(e.toString());
}
}

onAuthStateChanged是在我的StatefulWidgetinitState方法中设置的

  FirebaseAuth.instance.onAuthStateChanged.listen((user) {
print("Auth State Changed!");
if (user.isEmailVerified) {
print("EMail verified!");
}
}

最佳答案

onAuthStatechanged 仅在用户登录或注销时触发,而不是在电子邮件验证时触发。

根据 Doc -

onAuthStatechanged 添加观察者以观察用户登录状态的变化。

观察者会在以下场景被触发:

  • When auth().onAuthStateChanged() is first called. It will trigger with the initial Auth state. If the user is returning from an auth().signInWithRedirect() operation, the observer will wait for that operation to resolve before initially triggering.

  • When a new user signs.

  • When an already signed in user signs out.

关于firebase - 在 flutter 中验证电子邮件时不会调用 onAuthStateChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54591187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com