检查用户是否仍在angularfire2中进行身份验证

bri*_*mcq 7 firebase firebase-authentication angularfire2 angular

我有一个使用angularfire2的工作身份验证,我只是想知道是否有另一种方法来检查用户最近登录后是否验证用户是否在服务器上?我这样做是这样的

isAuthenticated():boolean{
 this.af.auth.subscribe(data => {
  if(data ){
  // User is authenticated
    return true;
  }
});
}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏

编辑1:

我决定仍然使用原始代码来检查用户是否最近登录.当你在应用程序启动时没有检查用户时,@ cartant建议的是足够的,因为它可能会返回null,如firebase官方所述文档.我在这里使用它的方式是我有菜单项只应该向经过身份验证的用户显示,并且使用firebase.auth().currentUser将始终在页面的初始加载时返回null.

car*_*ant 10

AngularFire2目前正在进行一些重构,其身份验证API的重要部分将被删除,以支持将Firebase Web API与AngularFire2结合使用.此问题中有更多信息.

您使用的observable将保留在AngularFire2中,您可以订阅它以接收身份验证状态更改的通知.

但是,如果您感兴趣的是确定是否有当前经过身份验证的用户,则currentUserFirebase Web API中会有一个属性告诉您:

import * as firebase from "firebase";
...
console.log(firebase.auth().currentUser);
Run Code Online (Sandbox Code Playgroud)