Firebase匿名身份验证存储ID

时间:2018-07-10 16:25:14

标签: firebase authentication unity3d firebase-authentication anonymous

我想知道Firebase匿名身份验证的工作原理如何?当用户启动我的应用程序时,它使用auth.SignInAnonymously()匿名登录,但是每次他重新启动应用程序时,它将生成一个新的ID。如何使用相同的ID(即与deviceID相关或类似的ID)登录用户。

例如,服务Playfab具有三个功能:LoginWithIOSDeviceID,LoginWithAndroidDeviceID和LoginWithCustomId。这会使事情变得容易得多。如何使用Firebase Auth解决该问题?由于以下规则,我需要对数据库进行某种身份验证:

{
  "rules": {
    "users": {
      "$uid": {
        ".write": "$uid === auth.uid"
      }
    }
  }
}

非常感谢您的帮助! 最好的问候!

1 个答案:

答案 0 :(得分:1)

您好,感谢您的回答。同时,我与Firebase支持进行了交谈,我们发现了错误。我在auth初始化之后但在能够从Cache恢复会话之前立即调用了登录名。

要提供更多上下文,当用户进行身份验证时,SDK将获得一个ID令牌,该令牌是用于发出经过身份验证的请求的令牌。到期时间为1小时。 SDK还将获得一个刷新令牌,一旦当前令牌即将到期,SDK将使用它来获取一个新的ID令牌。 SDK会自动处理此问题,对于用户而言,会话似乎永不过期。当用户打开应用程序时,当前的ID令牌可能已过期,因此SDK会获取已存储的ID令牌和刷新令牌,并在需要时获取新的ID令牌。

现在,在我等待恢复会话线程的返回之后,它就可以正常工作了:-)

再次感谢您的回答!