代码之家  ›  专栏  ›  技术社区  ›  Marcelo Glasberg

我可以使用客户端登录的Firebase ID令牌来使用Java SDK对Java桌面应用程序进行身份验证吗?

  •  0
  • Marcelo Glasberg  · 技术社区  · 8 年前

    谷歌的云Firestore可以通过以下方式访问 客户 iOS、Android和web应用程序,通过本机SDK。

    对于 服务器 ,云Firestore也可在本机节点中使用。js、Java、Python和Go SDK,以及REST和RPC API。其中,Java和Node SDK能够监听数据库中的更改(截至2018年3月)。

    我想在 Java客户端桌面应用程序 .

    正如我所说,Java Server SDK可以侦听数据库更改,但是它使用身份和访问管理(IAM)对用户进行身份验证,而客户端SDK使用Firebase身份验证进行身份验证。我必须使用Firebase身份验证进行身份验证,以便使用云Firestore安全规则保护数据库。

    我的问题是: 我想将用户登录到Firebase客户端SDK之一(web、iOS或Android),然后将该登录的ID令牌发送到 我的Java桌面应用程序。然后,我想用该令牌对Java SDK进行身份验证,从而限制对云Firestore安全规则的访问。

    这可能吗?怎样

    1 回复  |  直到 8 年前
        1
  •  1
  •   Doug Stevenson    8 年前

    服务器上使用的Firebase Admin SDK不支持单个用户登录。您可以看到与身份验证相关的功能列表 here . 简而言之,它不是针对最终用户应用程序的,只是对客户端应用程序的后端支持,在客户端应用程序中,用于初始化它的凭据完全隐藏,最终用户无法访问。

    您永远不会提供使用Admin SDK编写的客户端应用程序,该SDK还要求您提供服务帐户凭据以对其进行初始化。服务帐户凭据就像根密码一样——永远不要将它们提供给任何人,除非是您信任的可以完全访问所有内容的人。