使用Firebase 3从FIRUser获取创建日期和上次登录日期

iOS*_*eek 4 ios firebase swift firebase-authentication firebase-realtime-database

我只想获取具有Firebase的用户的创建日期和最后登录日期,我的计划是让用户使用Facebook登录,然后注册并添加新信息,并将用户保存在具有创建日期的实时数据库中,上次登录日期,因此在保存日期后如何使日期与Firebase系统保持不同步,或者我应该只使用这些f FIRUser而不将其保存在实时数据库中

在此处输入图片说明

问题1:如何从FIRUser获取创建和上次登录的日期,如仪表板中所示(请参见下图)

问题2:一旦获得这些日期,我会将其保存在实时数据库中,那么如何使上次登录日期保持同步?

boj*_*eil 8

从版本4.4.0开始,您可以从currentUser获取iOS中的上次登录时间和创建时间:https ://firebase.google.com/support/release-notes/ios#4.4.0

Auth.auth().currentUser.metadata.lastSignInDate Auth.auth().currentUser.metadata.creationDate


use*_*ond 1

你可以这样构建你的规则

{ 
  rules: { 
    users: {

     uid_01: {
       //You can also do regular expression of timestamp and add it to ".validate" rule
       lastLogin: { ".validate": "newData.isString()"   }     
       createdOn: { ".write": "!data.exists()" }
      }
    }
  } 
}
Run Code Online (Sandbox Code Playgroud)

掌握上述规则将帮助您管理您的要求。“createdOn”只会让您写入一次值。每当您创建新用户时,只需将日期写入“createdOn”并不断更新“lastLogin”,超时后他们就会登录!