【问题标题】:Can I use firestore npm library from my express app?我可以从我的 express 应用程序中使用 firestore npm 库吗?
【发布时间】:2021-04-08 19:39:58
【问题描述】:

我想出了这个库,我在我的 node.js Web 服务器上使用这个库作为 nosql 数据库,替代 mongodb。

我看过这句话:

使用 Google 服务器 SDK 的应用程序不应在最终用户环境中使用,例如在手机或公共托管网站上。如果您正在开发代表最终用户访问 Cloud Firestore 的 Web 或 Node.js 应用程序,请使用 firebase 客户端 SDK。

这是否意味着我不应该在我的 node.js 服务器 express 应用上使用它来访问数据库,或者它只是从作为 Web 浏览器脚本提供的内容中使用。

【问题讨论】:

    标签: javascript node.js typescript express google-cloud-firestore


    【解决方案1】:

    如果使用 Admin SDK 的代码在服务器上运行,那么这本身不会带来将凭据泄露到不受信任环境的风险。当然,这仍然取决于您的代码的作用,但根据您分享的内容,我们无话可说。

    这仍然让人担心代码的实际作用。 Admin SDK 以管理权限访问 Firebase,不受您在数据库上设置的任何安全规则的影响。因此,尽管客户端 SDK 只能访问安全规则允许的数据,但管理 SDK 可以访问所有数据 - 无论安全规则如何。

    因此,如果您通过向用户提供的 Admin SDK 加载数据,则由您的代码来确保您只共享用户被授权的数据。

    【讨论】:

      【解决方案2】:

      如果您直接从客户端(react、vue)使用 Firebase,请使用 https://www.npmjs.com/package/firebase

      但是,如果您正在构建 api,请使用 https://firebase.google.com/docs/admin/setup/

      【讨论】:

        猜你喜欢
        • 2020-08-28
        • 2020-07-11
        • 2017-09-29
        • 2022-01-11
        • 2012-04-16
        • 2015-03-19
        • 2012-07-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多