Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 使用firebase身份验证登录时如何保存用户数据?_Angular_Typescript_Firebase_Ionic Framework_Firebase Authentication - Fatal编程技术网

Angular 使用firebase身份验证登录时如何保存用户数据?

Angular 使用firebase身份验证登录时如何保存用户数据?,angular,typescript,firebase,ionic-framework,firebase-authentication,Angular,Typescript,Firebase,Ionic Framework,Firebase Authentication,我使用Firebase身份验证允许用户登录我的Angular应用程序 下面是我的AuthService中的login()方法: login(email: string, password: string) { return from(firebase.auth().signInWithEmailAndPassword(email, password)); } 这很好,但现在我尝试在用户登录时存储用户的数据,以便他们在刷新应用程序时不会意外注销 有人能告诉我如何使用在上述方法中返回的对象来

我使用Firebase身份验证允许用户登录我的Angular应用程序

下面是我的
AuthService
中的
login()
方法:

login(email: string, password: string) {
   return from(firebase.auth().signInWithEmailAndPassword(email, password));
}
这很好,但现在我尝试在用户登录时存储用户的数据,以便他们在刷新应用程序时不会意外注销


有人能告诉我如何使用在上述方法中返回的对象来确保用户保持登录状态,除非他们选择退出应用程序?

当您调用
firebase.auth()。使用email和password(电子邮件,密码)登录时,用户将保持登录状态。您可以使用以下命令检查用户是否为空:

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in.
  } else {
    // No user is signed in.
  }
});


如果用户已登录,则只需在登录后将用户引导到页面。

您必须保留数据。 看看这个文件:


谢谢你的回答。因此,如果我使用
使用Email和Password登录并刷新页面,我还没有注销?如果是这样的话,我可以在我的
canLoad
保护中添加什么,我试图使用它来验证用户是否登录?我试图使用上面的代码,但错误是
声明类型既不是'void'也不是'any'的函数必须返回一个值
答案对您有帮助吗?您如何在
canLoad
中使用它?您好,是的。我正在用新代码更新我的问题在用户使用firebase方法登录后,我尝试将他们的数据存储在本地存储中,然后在
canLoad
guard中使用这些数据