Riy*_*oua 2 dart firebase firebase-authentication flutter
所以我有一个 onAuthStateChanged 流,我想检查用户是否已被 Firebase 控制台上的管理员禁用以注销用户并再次转到登录页面,这是我的流检查用户是否已登录,但是如何检查用户是否被 Firebase 控制台禁用:\
这是我的流的简单代码:
return StreamBuilder<FirebaseUser>(
stream: FirebaseAuth.instance.onAuthStateChanged,
builder: (BuildContext context , snapshot){
if (snapshot.connectionState == ConnectionState.active) {
FirebaseUser user = snapshot.data;
if (user == null) {
return RegisterUi();
}
;
} else {
return HomePage()
}
}
);
Run Code Online (Sandbox Code Playgroud)
FirebaseAuth.instance.onAuthStateChanged已弃用。您应该使用authStateChanges或userChanges。
不幸的是,当用户被禁用时,它们都不会发出值。
您可以尝试使用以下命令重新加载用户数据
FirebaseAuth.instance.currentUser.reload();
Run Code Online (Sandbox Code Playgroud)
如果用户被禁用,它将抛出一个FirebaseAuthException ewhere
e.codeis 'user-disabled'。
一些未经测试的代码:
try {
await FirebaseAuth.instance.currentUser.reload();
} on FirebaseAuthException catch (e) {
if (e.code == 'user-disabled') {
// User is disabled.
}
}
Run Code Online (Sandbox Code Playgroud)
在您的示例中,如果您reload(),流将发出null并且RegisterUi()小部件将从构建器返回。
| 归档时间: |
|
| 查看次数: |
1988 次 |
| 最近记录: |