设置webpack.config.js以运行firebase管理SDK的正确方法是什么

qcuzuvrc  于 2022-12-27  发布在  Webpack
关注(0)|答案(2)|浏览(84)

现在,我正在尝试为我正在创建的firebase项目设置firebase管理。该项目是一个管理站点,应该上传数据到应用程序。关键是创建一个值得信任的人可以访问的站点,这样这些人就不必登录到项目所有者的电子邮件来输入数据。该站点还应该帮助管理这些用户。我需要能够使用Firebase管理功能来创建和编辑用户。
因此,我需要添加管理SDK到我的项目。它说要添加到一个Node.js项目,这是我所拥有的。我遵循了基本设置的所有说明。然后我试图从我的HTML页面中的一个函数初始化管理函数。我意识到我可以通过外部文件来完成它,但是作为这些功能中的许多功能的较新用户并且之前已经经历了尝试设置这些外部文件的大头痛,我觉得我应该先在页面中设置这个东西,让所有的函数都工作起来,然后再把它移到一个外部文件中。然而,当我试图测试我的代码时,我得到了require is not defined错误。我做了一些研究来找到解决方案,并遇到了module.config.js方法。我试图像他们那样设置它,但问题是只运行Firebase SDK,这是我第一次听说Webpack,没有丰富的网页设计背景,可以说是业余爱好ATM。
基本上,rn我需要帮助设置这个配置文件,以便我可以运行

var admin = require("firebase-admin");

var serviceAccount = require("path/to/serviceAccountKey.json");

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount)
});

我从https://webpack.js.org/configuration/复制并粘贴了基本webpack.config.js文件
并把它放在我的目录中,它看起来像这样:主文件夹:https://i.imgur.com/hwMHEXh.png
dist中的文件基本上就是我的整个项目:https://i.imgur.com/1tnY1gr.pnghttps://i.imgur.com/gtUL79l.png
有人能解释一下需要做什么来运行管理员初始化,这样我就可以在我的项目上运行用户编辑命令了吗?我知道我需要做什么,一旦这是设置,但我不知道我需要做什么来设置它,所以一旦我得到了这个完成,我将几乎设置。

nbnkbykc

nbnkbykc1#

文件也提到了,
如果您有兴趣将Node.js SDK用作最终用户访问的客户端(例如,在Node.js桌面或IoT应用程序中),而不是从特权环境(如服务器)进行管理员访问,则应该遵循instructions for setting up the client JavaScript SDK.
即使你已经安装了节点模块,但环境不是NodeJS,它是一个浏览器。而且Admin SDK有特权访问你的Firebase项目,不应该在客户端使用,因为任何人都可以使用它并获得完全访问权限。你打算如何限制Web应用程序给特定的用户呢?Firebase托管没有这样的选项。
您可以考虑使用Firebase Callable Functions,并在其中使用Admin SDK。然后根据需要从Web应用中调用您的函数。您可以在云函数中对用户进行身份验证,并进行所有验证,因此安全性更高。

rta7y2nd

rta7y2nd2#

初始化firebase应用程序的具体方法可能会有所不同,这取决于您使用的firebase-admin版本。对于我当前的项目,我的package.json显示我使用的是11.4.1。以下是我成功导入和初始化的方法:

import * as admin from 'firebase-admin'; // change your import

const firebaseCreds = require("../path/to/your-firebase-adminsdk.json")

admin.initializeApp({
  credential: admin.credential.cert(firebaseCreds),
  serviceAccount: firebaseCreds // add serviceAccount
});

相关问题