9

所以 Firebase 提供了一种叫做“函数”的东西,它本质上是一个 nodejs 服务器,它预先配置了所有 Firebase 的东西,并且自动处理了所有的缩放。我想知道,有没有办法从 Angular 2 应用程序调用“函数”index.js 文件中的函数?

我需要利用 firebase-admin npm 模块来检查用户的电子邮件是否存在,然后获取该用户的 uid(如果存在)。

根据此链接,我可以设置我的 index.js 文件,例如:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

// I'm actually not sure if this is how you do this part:
exports.getUserByEmail = (email) => {
  return admin.auth().getUserByEmail(email);
}

有没有办法可以getUserByEmail()在我的 Angular 2 应用程序的组件内部调用?

提前致谢!

4

2 回答 2

10

直接从客户端代码调用云函数有两种主要方法。

您可以使用数据库触发器,它会在 Firebase 项目的实时数据库中的某个位置发生变化时做出响应。

您还可以在访问 HTTP 端点时使用HTTP 触发器来响应。对于 Web 应用程序,您可以使用任何您想要调用 XHR 事务的方法。

无论您使用哪一种,都取决于您的应用程序的架构,以及在某种程度上您的偏好。提供的示例代码中有大量的示例,甚至更多。

您绝对可以使用 Firebase 管理 SDK 从您的函数代码中访问您的项目。许多样本正是这样做的。

于 2017-04-06T03:35:35.153 回答
3

Firebase 刚刚于 3 月 20 日发布了一个新的 SDK,它允许您从客户端调用 HTTPS 触发器之类的函数,最好的部分是它检查用户身份验证,因此您可以将函数限制为仅由经过身份验证的用户调用并轻松访问他们的帐户详细信息,例如电子邮件、uid、姓名等。更多信息请参见: https ://firebase.google.com/docs/functions/callable

于 2018-03-23T15:19:02.440 回答