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

时间:2018-09-05 21:19:51

标签: angular typescript firebase express firebase-authentication

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

我目前有一个正在实施Firebase Authentication身份验证服务的应用程序,我目前需要注册,验证用户身份的所有操作都在Angularfire2中。

我一直看到,不能在前端使用Firebase Admin SDK,我必须使用配置为Admin SDK简介的Node.js创建后端,以{我的项目。

我一直试图直接import * as admin from 'firebase-admin';进入服务文件,但是由于应如何实施Firebase Admin,我返回了一些错误。

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

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

2 个答案:

答案 0 :(得分:1)

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

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"
});

谢谢

答案 1 :(得分:0)

是的,您可以使用Express.JS公开Angular App将使用的REST API。但通常,您的Firebase Cloud Functions也可以视为POST类型的REST API。

我已经将Firebase的Admin SDK用于用户管理本身。我被AngularFire2困扰的一种用例是,我想使用应用程序中的管理面板将用户添加到应用程序中。

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