注销时如何获取匿名帐户的数据? Firebase身份验证匿名

时间:2018-08-31 12:04:16

标签: android firebase firebase-authentication

上下文

在我的注册/登录活动中,用户可以匿名身份验证,并且我将它们以FirebaseID作为主键存储在我的数据库中。
这是代码:

Exception in thread "main" java.lang.StackOverflowError
at com.sun.naming.internal.VersionHelper12$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.naming.internal.VersionHelper12.getJndiProperties(Unknown Source)
at com.sun.naming.internal.ResourceManager.getInitialEnvironment(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at net.citigroup.mexico.pg.pgs.mock.MockLocalContext.<init>(MockLocalContext.java:97)
at net.citigroup.mexico.pg.pgs.mock.MockLocalContext.<init>(MockLocalContext.java:95)
at net.citigroup.mexico.pg.pgs.mock.MockLocalContext$3$1.getInitialContext(MockLocalContext.java:400)
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at net.citigroup.mexico.pg.pgs.mock.MockLocalContext.<init>(MockLocalContext.java:97)
at net.citigroup.mexico.pg.pgs.mock.MockLocalContext.<init>(MockLocalContext.java:95)
at net.citigroup.mexico.pg.pgs.mock.MockLocalContext$3$1.getInitialContext(MockLocalContext.java:400)
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at net.citigroup.mexico.pg.pgs.mock.MockLocalContext.<init>(MockLocalContext.java:97)
at net.citigroup.mexico.pg.pgs.mock.MockLocalContext.<init>(MockLocalContext.java:95)
at net.citigroup.mexico.pg.pgs.mock.MockLocalContext$3$1.getInitialContext(MockLocalContext.java:400)
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)

问题

如果我的用户注销,然后如果他们想以匿名身份登录,它将创建另一个帐户,并且他们将无法检索其先前的匿名帐户。我如何才能检索其旧的匿名帐户及其数据?非常感谢

1 个答案:

答案 0 :(得分:1)

仅当您退出登录,直接从Firebase控制台删除用户帐户或卸载应用程序时,您的发言才会发生。因此,您可以使用Firebase匿名身份验证来创建和使用临时匿名帐户来通过Firebase进行身份验证,但是anonymous authentication accounts不会在应用程序卸载期间持续存在。卸载应用程序后,将删除所有在本地保存的内容,包括标识该帐户的匿名auth token不幸的是,没有简单的方法可以为用户回收该令牌

相反,您应该鼓励所有用户使用受支持的帐户提供商(GoogleFabcebookTwitter等)完全登录,以便他们可以从所有帐户登录他们的设备而不必担心丢失数据。

相关问题