如何在我的 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 - 如何正确使用服务、HttpClient 和 Observables 在我的应用程序周围传递对象数组
如何使用 TypeScript 在我的 Angular 2 组件中声明模型类?
如何在我的 Angular5 应用程序中发送带有附件的电子邮件(gmail)?