如何在firebase

时间:2018-04-17 19:16:28

标签: android firebase firebase-realtime-database firebase-authentication google-cloud-firestore

我正在使用firebase-auth和firebase-ui-auth构建一个Android应用程序,用于Firestore中的身份验证和数据。我想要一些功能仅供管理员用户使用,因此我需要实现某种基于角色的访问控制。我无法在Firebase文档中找到任何示例。但我能找到this。它描述了firebase-admin库中的功能。

我刚刚将我的Firebase库更新为15.0.0,但firebase-admin目前仅在5.9.0版本中,并且不会在Android中加载,因为我收到以下错误:

All firebase libraries must be either above or below 14.0.0

几个问题:

  1. 我是否需要创建一个单独的Web Admin项目才能使用firebase-admin库?推荐的方法是什么?
  2. 这些声明存储在哪里?我假设它不在我的firebase项目之外,但在控制台认证/用户表中查看此信息会很酷。
  3. 有人可以分享一个Android / Java示例,说明如何从我的Android应用中阅读这个新的自定义“管理员”声明吗?该页面似乎只包含一个JavaScript客户端示例。

1 个答案:

答案 0 :(得分:1)

文档非常明确。 您无法在客户端上使用firebase-admin。这在您的服务器上运行。

  1. 您需要使用firebase-admin设置自定义声明的服务器端代码,因为它们不是从客户端设置的。您不能让客户端定义他们的权限。这是从服务器完成的。

  2. 声明存储在项目的Firebase Auth用户数据库中,并传播到相应用户的ID令牌。您无法从控制台中看到它。您可以通过admin sdk查找用户来检查这些声明。

  3. 您现在可以直接从Fiddle获取。 getClaim方法返回包含声明的地图。