Firebase参考 - 本地身份验证

时间:2016-06-22 21:35:07

标签: firebase firebase-realtime-database firebase-authentication

当我通过firebase身份验证进行身份验证时创建firebase引用并获取该引用的快照时,我会注销,该数据仍然存在。

要求:

  1. 登出后无法重新加载或强制重新加载页面
  2. 无法清除Firebase会话或所有数据都需要重新加载
  3. 必须仅清除可供用户访问的数据,而不是公开
  4. 在其他用户注销后,还必须重新加载拥有或与非升级用户或来宾用户位于同一组中的数据。
  5. 我正在考虑创建包含我的引用的对象,这些对象将提供用户组和其他权限属性,这在linux上很常见。这将允许我使用当前用户对象提供组和用户详细信息作为停用或清除本地数据的基础。

    有没有一种标准的方法可以做到这一点? 我是否比需要做更多的工作?

    我将使用firebase提供的元数据硬编码哪些组对客户端有权限的知识。我计划最终跟踪用户ID下特定用户可用的所有引用,并跟踪公开可用的引用,并再次跟踪可用于最高权限优先的特定组的引用。

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

1 个答案:

答案 0 :(得分:1)

您可以控制自己的应用,并且基于prefs的快照(或保存数据的任何其他位置)也位于您的应用控件之下。假设本地存储仅受到应用程序的保护(无论是通过Android操作系统本身,如私有首选项等),您只需将本地缓存保存在当前已验证用户的用户ID下即可。因此,您的应用可以检查经过身份验证的用户是否与缓存的用户ID匹配,如果不匹配,则拒绝访问。实际上,登录用户应该最低限度地键入本地缓存,以便免费进行这种检查(基本上不会找到快照数据)。