如何在我的 Angular 应用程序中使用 Firebase Admin SDK?

Posted

技术标签:

【中文标题】如何在我的 Angular 应用程序中使用 Firebase Admin SDK?【英文标题】:How can I use Firebase Admin SDK in my Angular application? 【发布时间】:2019-02-11 02:16:51 【问题描述】:

我目前有一个实现 Firebase Authentication 身份验证服务的应用程序,我目前需要注册、身份验证的用户在 Angularfire2。

我已经看到并且 Firebase Admin SDK 不能在前端使用我必须使用 Node.js 创建一个后端,配置为 Admin SDK 的介绍使用我的项目的凭据加载文件.

我一直在尝试将import * as admin from 'firebase-admin'; 直接发送到服务文件中,但由于应如何实施 Firebase Admin,我收到了一些错误。

要删除我使用 Cloud Functions 的用户,我会检查用户何时在数据库中被删除,然后我还会在 Firebase 身份验证中排除。

我使用 Firebase Hosting 上传我的应用程序,我想知道我是否可以使用 Express.js,如果我不能,我可以使用什么来通过 Admin SDK 到 Node.js 中的 Node.js 使用所有 User Management 功能Angular 应用程序。

【问题讨论】:

【参考方案1】:

是的,您可以使用 Express.JS 公开您的 Angular 应用程序将要使用的 REST API。但一般来说,您的 Firebase Cloud Functions 也可以视为 POST 类型的 REST API。

我已将 Firebase 的 Admin SDK 用于用户管理本身。我被困在使用 AngularFire2 的一个用例是,当我想在我的应用中使用管理面板将用户添加到我的应用时。

每当我尝试通过在 AngularFire2 上调用 createUserWithEmailAndPassword 方法来添加用户时,它都会将我注销并为我打算创建的用户创建一个会话。为了解决这个问题,我创建了一个 HTTP 云函数。这个云函数充当了一个 POST API,让我向用户发送详细信息并在实时数据库上创建它。

【讨论】:

那么您在 Cloud Functions 中创建一个函数来接收 POST 调用并执行您需要的操作? 没错。你可以这样做。我建议您阅读以下内容:firebase.google.com/docs/functions/http-events 如果像我一样,视频是您的事,那么您可以查看这些内容:firebase.google.com/docs/functions/video-series 感谢您提出我的问题。【参考方案2】:

只需包含 firebase-admin,您可以使用以下 sn-p 与任何 javascript 客户端一起工作,确保其部署在安全的地方,并且没有人可以访问其 serviceAccountKey.json p>

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

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

admin.initializeApp(
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://kiraye-pay-stage.firebaseio.com"
);

谢谢

【讨论】:

以上是关于如何在我的 Angular 应用程序中使用 Firebase Admin SDK?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Angular 2 中使用 Twilio 客户端?

Angular - 如何正确使用服务、HttpClient 和 Observables 在我的应用程序周围传递对象数组

如何使用 TypeScript 在我的 Angular 2 组件中声明模型类?

如何在我的 Angular5 应用程序中发送带有附件的电子邮件(gmail)?

如何循环遍历对象数组中的对象数组并使用 Angular/Ionic 在我的 HTML 中显示?

如何将 qrcode-generator 导入 Angular 2 应用程序?