Firebase 参考资料 - 本地身份验证

Firebase References - Local Authentication

当我创建一个 firebase 引用并拍摄该引用的快照,同时通过 firebase 身份验证进行身份验证然后我注销时,该数据仍然存在。

要求:

  1. 注销后无法重新加载或强制重新加载页面
  2. 无法清除 Firebase 会话,否则需要重新加载所有数据
  3. 必须只清除用户可访问的数据,public
  4. 在其他用户注销后,还必须重新加载非升级用户或来宾用户拥有的或属于同一组的数据。

我正在考虑创建对象来包装我的引用,这些引用将提供用户组和其他权限 属性,这在 linux 上很常见。这将允许我使用提供组和用户详细信息的当前用户对象作为停用或清除本地数据的基础。

有标准的方法吗? 我做的工作比需要的多吗?

我将对哪些组在客户端具有权限的知识进行硬编码,稍后用 firebase 提供的元数据替换。我计划最终跟踪用户 ID 下特定用户可用的所有引用,并跟踪可用的引用 publicly,并再次跟踪最高权限的特定组可用的引用优先级。

我正在采取的第一步是创建一种方法来管理引用客户端并内置检查身份验证更改,然后利用当前身份验证中提供的用户详细信息应用所需的更改,并启动身份验证更改。是否更容易为该快照启动另一个对服务器的调用,如果不再授权,该快照会更改吗?

您控制自己的应用程序,并且基于首选项的快照(或您保存数据的任何其他地方)也在您的应用程序控制之下。假设任何本地存储仅受您的应用程序保护(无论是 Android OS 本机,例如私有首选项还是其他方式),您可以简单地将本地缓存保存在当前经过身份验证的用户的用户 ID 下。因此,您的应用程序可以检查经过身份验证的用户是否与缓存的用户 ID 匹配,如果不匹配,则拒绝访问。事实上,本地缓存应该由登录用户最少键入,这样你就可以免费进行这种检查(基本上不会找到快照数据)。