firebase_dart自动登录



我正在编写一个运行在iOS, Android, macOS, Linux和Windows上的应用程序,它使用Firebase Auth和Firebase实时数据库(或Firestore数据库)。因为官方的firebase软件包还不支持Windows,所以我使用firebase_dart。

实现登录后,我发现如果我重新启动应用程序,我必须再次登录。我认为这是因为包没有存储用户身份/令牌/状态。所以我需要手动存储它,但我不知道该存储什么。

final FirebaseAuth _auth;
...
// These are the credentials I receive from the api call
final credentials = await _auth.signInWithEmailAndPassword(
email: email,
password: password,
);

有人知道怎么用这个包裹保持签到吗?

当您以常规方式(使用电子邮件/密码或通过其他凭据)登录时,Firebase会自动保存您的用户会话,并且您可以使用userChanges()侦听器查看用户是否已登录。它将由usernull触发,这取决于用户之前是否已登录(并且您没有显式调用signOut())。

_auth.userChanges().listen((user) {
debugPrint('user changed $user');
if (user != null) {
// do stuff with user data
} else {
// if you need to handle no user on start up
}
});

相关内容

  • 没有找到相关文章

最新更新