【问题标题】:Access the firebaseUser 'created' timestamp from within javascript从 javascript 中访问 firebaseUser“创建”时间戳
【发布时间】:2018-08-14 04:15:25
【问题描述】:

我想使用 AngularFire 从我的 Angular 应用的运行函数中的 firebaseUser 对象直接读取“已创建”时间戳(可在 Firebase 控制台的 Authentication > USERS 部分中获得)。

例如

FirebaseAuth.$onAuthStateChanged(function(firebaseUser) {
    console.log(firebaseUser.created)
}

对象上是否存在时间戳?此时我试图避免调用数据库。

感谢您的帮助。

【问题讨论】:

    标签: javascript angularjs firebase firebase-authentication angularfire


    【解决方案1】:

    您可以在创建新帐户时在数据库中添加创建日期:

    Users
      useruid <-- from the console
         name: userx
         email: userx@gmail.com
         creationdate: 2018-02-10
      useruid
         name: usery
         email: usery@gmail.com 
         creationdate: 2018-03-01
    

    也检查一下:

    https://firebase.google.com/docs/reference/js/firebase.User

    或使用metadata 检索它,如下所述:

    creationTime:

    创建用户的日期,格式为 UTC 字符串。例如,“2017 年 9 月 22 日星期五 01:49:58 GMT”。

    或使用 Admin SDK:

    admin.auth().getUser(uid).then(function(userRecord) {
    console.log("Creation time:", userRecord.metadata.creationTime);
    });
    

    https://firebase.google.com/docs/reference/admin/node/admin.auth.UserMetadata

    【讨论】:

    • 有没有办法将 UTC 格式转换为本地创建时间?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 2017-09-28
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多