一些背景
当创建一个用户帐户时,我按照顺序1使用回调链接做了3件事
>
我将用户的个人资料图片上传到Firebase存储,并捕获返回的downloadUrl
,以便在步骤3中使用
我将用户的其他信息(包括步骤2中的下载URL
)存储在实时数据库的一个节点中(由$userid
键入)
现在的问题是
我提供了一个名为“删除帐户”的按钮,用户可以删除所有内容。也就是说,清除他们在实时数据库中的所有数据,清除他们在Firebase存储中的个人资料图片,最后从Auth中删除他们的帐户。重要的是,所有这些操作都应该成功,或者即使其中一个操作失败,也应该取消。
我看了10页的求救问题
我试过什么?
目前,我使用回调链接,如下所示:
// start by atomically deleting all the user data from the Realtime Database using the fanout system.
- get all appropriate locations and save in fanout dictionary
- update all these locations to nil // atomic goodness :)
-callback:
-on failure:
- just return // no worries, nothing has changed yet :/
-on success:
// proceed to delete user files on firebase storage
- delete path $userid on firebase storage
-callback:
-on failure: // this is bad, no idea what to do :(
-on success:
// proceed to delete account from Auth
- delete user account from Auth
-callback:
-on failure: // this is terrible, also, it could happen often b/c firebase does ask for re-authentication sometimes :(
-on success: // thank goodness! I have an authListener somewhere ready to show the 'signInViewController' :)
如何以原子方式处理这种多系统(身份验证、存储、实时数据库)操作?我已经研究过交易,但看不出它们如何适应这种情况——文档只显示它们被用于实时数据库中喜欢/明星等的递增计数器。
任何帮助都将不胜感激。
因此,主要问题是,如果您试图删除的数据仅被部分删除,该怎么办。
我认为你应该考虑一种方法,如果出现问题,可以帮助你恢复它。
我现在不在我的电脑上,但我建议你尝试下载你想删除的数据,只有在成功的情况下,你才能删除本地副本,否则你应该能够轻松地恢复它。
编辑:如果我们谈论大量的存储,而不是本地副本,你可以在云上制作。
因此,首先复制此数据,然后删除它,然后删除数据库数据(之前也复制过),然后可以删除用户帐户,最后可以删除副本。
我仍在开发我的登录应用程序。此时,用户可以注册、登录和更新配置文件信息。数据存储在firebase实时数据库中,该装置也通过firebase工作。我想添加一个“删除配置文件”按钮,以便从firebase中删除用户信息。我弄清楚了如何从自动认证过程中删除用户。现在我尝试对Uid调用remove()函数,因此现在数据在实时数据库中被删除,但仍在Firebase身份验证中,如果删除userdata,应用
我的Android应用程序中有Firebase身份验证。我的问题是如何在经过身份验证的用户(出现在Firebase控制台的选项卡)和数据库(选项卡)之间建立链接。 我需要通过中出现的将数据库中的数据与中的相关用户链接,并最终发送有关特定的查询,以获取
null /signup=>在我的数据库中注册用户,颁发令牌 /登录 /refresh_token null null null 我想要的是客户机V1的一致和兼容API。APIV1的任何现有客户端(应用程序)都应该能够向V1/Signupendpoint发送请求,并以与V2客户端相同的状态完成:在Firebase中创建用户帐户
我有一个firebase实时数据库,具有读/写功能,但是我没有任何用户,也不打算对用户进行身份验证。数据由事件侦听器和调度器(java)编写,我的html ui应用程序应该只读取数据。 我应该如何保护我的db? 在开发(不安全)模式下,我可以使用任何http客户端来写/读数据?如何在保护身份验证后通过身份验证?
我已经开始开发一个由Google的Firebase服务提供支持的应用程序。我很好奇数据传输在Auth和数据库服务中是否安全。如果没有,我是否可以阅读任何材料来源以实现加密? 非常感谢。
在android studio 3.1.3中,用于链接firebase身份验证的“implementation'com.google.firebase:firebase-auth:11.6.0'”和用于链接firebase数据库的“implementation'com.google.firebase:firebase-database:11.8.0'”是app level Gradle中提供的默认