angular - 检查用户是否仍在 angularfire2 中通过身份验证

标签 angular firebase firebase-authentication angularfire2

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

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

感谢任何帮助

编辑 1:

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

最佳答案

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

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

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

import * as firebase from "firebase";
...
console.log(firebase.auth().currentUser);

关于angular - 检查用户是否仍在 angularfire2 中通过身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43422845/

相关文章:

firebase - 安排 Firebase 云函数在每小时开始时每 30 分钟运行一次,然后在 30 分钟后运行

android - 如何使用 Firebase 和 Kotlin 在文本 (Jetpack Compose) 中显示当前用户名?

ios - Firebase 自定义消息 iOS

angular - 如何在angular2中使用多个路由器 socket ?

jquery - Typescript - 展开和折叠引导 Accordion

angular - 如何通过API将从Angular 5表单发送到Symfony的数据插入到mysql中?

image - Flutter web Image.network旋转图片

flutter - 错误:未为类 'signInWithPhoneNumber'定义方法 'FirebaseAuth'

javascript - 如何在 Firebase 中使用电子邮件和电话进行身份验证?

Angular 2 Material : sidenav toggle from another component