【问题标题】:Firestore on the server side服务器端的 Firestore
【发布时间】:2021-12-31 07:47:55
【问题描述】:

在服务器端使用客户端 Firestore SDK 不好吗?我正在构建一个不断轮询 API 并更新数据库的服务。

我喜欢它使用模块化方法的方式,以及与 Admin-SDK 方法相比它提供的大量文档。我的想法是创建一个非常长的密码,在 Firebase Auth 控制台中添加用户并将登录信息存储在本地,这样它就不会被 git 跟踪。理论上,Admin-SDK 告诉您生成私钥文件并将其保存在本地机器上时使用的方法不一样吗?

感觉就像使用客户端 Firestore-SDK (firebase/firestore) 而不是使用 Admin-SDK(firebase-admin/firestore) 有更多支持(文档)并且代码看起来更清晰。

如果我在这里遗漏了什么,请告诉我,因为此时我真的没有看到 admin-sdk 的好处。除了对所有人关闭安全规则。但是,如果理论上您只有一个用户,您可以调整安全规则,以便只允许一个经过身份验证的用户进行读写。在我的情况下,这将是服务器使用的“用户”/凭据。我觉得 admin-sdk 的痛苦多于好处。

但我愿意改变主意并接受有关此问题的指导。

【问题讨论】:

    标签: firebase google-cloud-firestore server firebase-authentication google-admin-sdk


    【解决方案1】:

    在服务器端使用客户端 Firestore SDK 不好吗?

    不,一点也不。如果这个 SDK 满足你的要求,那就去吧。

    【讨论】:

    • 感谢弗兰克的回复。验证我上面提到的方式是使用客户端 Firestore 的最佳方式吗?就像存储本地密码并将安全规则限制为该用户一样?或者有没有更好的方法在服务器上使用客户端 firestore sdk?
    • “最好的方法”只是某人的意见。我更喜欢在受信任的环境中为我的管理代码使用 Admin SDK,如果我不清楚其中的代码/文档,我会尝试找到 that 问题的答案而不是工作通过使用客户端 SDK 来解决它。如果我需要客户端应用程序管理员,我确实有时会先在我的安全规则中硬编码他们的 UID。但那是我使用客户端代码的时候,所以对于应用程序管理员来说。对于服务器端/可信代码,我使用 Admin SDK。
    • 有关在您的安全规则中允许应用程序管理员的更多信息,另请参阅:stackoverflow.com/questions/65553664/…stackoverflow.com/questions/56442795/… 您还可以设置自定义管理员声明并检查,如下所示:stackoverflow.com/questions/60179115/… .
    • 太棒了,谢谢你!出于好奇,既然您在 firebase 团队工作,您知道为什么 firebase-admin/firestorefirebase/firestore 不同吗?我觉得 firebase/firestore 也可以使用,或者如果它们基本上可以做同样的事情,为什么必须分开库东西?
    • 这两个 SDK 在底层共享大量代码,但用途不同。一种用于特权环境中的管理任务,另一种用于非特权的客户端代码。
    猜你喜欢
    • 2019-10-02
    • 2018-11-27
    • 2019-08-28
    • 2021-07-29
    • 2019-06-01
    • 2021-07-05
    • 1970-01-01
    • 2021-01-02
    • 2019-03-29
    相关资源
    最近更新 更多