我有一个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() { …Run Code Online (Sandbox Code Playgroud)