Chr*_*ris 7 dart firebase-authentication flutter flutter-web
我有一个Flutter Web应用程序,用户通过Firebase登录。问题是每次刷新页面时,用户都会注销。
iOS 类似:用户在刷新后保持登录状态,但在完全关闭应用程序时被注销。
我知道这个问题表明应该用最新版本来修复它,但我已经使用了所谓的修复版本:
firebase_core:^1.20.0
firebase_auth:^3.6.0
云火存储:^3.4.1
我正在使用go_router和redirect用户(如果他未登录):
final GoRouter router = GoRouter(
key: Get.key,
urlPathStrategy: UrlPathStrategy.path,
redirect: (state) {
final String destination = state.location;
final bool isOnStartView = destination == '/start';
final bool isOnEmailFlow = state.subloc.contains('/email');
if (!isOnStartView && !isOnEmailFlow && !AuthService.isLoggedIn()) {
return '/start';
}
return null;
},
...
Run Code Online (Sandbox Code Playgroud)
这是我的AuthService.isLoggedIn():
static final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
static User? get currentUser => FirebaseAuth.instance.currentUser;
static bool isLoggedIn() {
return _firebaseAuth.currentUser != null;
}
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?它到处都说应该修复它,但它对我不起作用。如果您需要更多详细信息,请告诉我!
更新依赖项:firebase_auth:^3.6.4 此错误现已在最新版本中解决。
使用流 - FirebaseAuth.instance.authStateChanges()
FirebaseAuth.instance
.authStateChanges()
.listen((User? user) {
if (user != null) {
print(user.uid);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1362 次 |
| 最近记录: |