您如何使用Firebase的云功能读取其他用户的用户信息?



我想创建一个云函数,让用户在特定条件下读取另一个用户的一些用户信息。

例如:

const user1 = ??? // user1 is the current user
const user1Data = await firestore().collection('Users').doc('user1.uid').get()

const user2 = ??? // user2 is the user whith user2.uid == user1Data.partnerUid
const user2Data = await firestore().collection('Users').doc('user2.uid').get()
if (user1Data.partnerEmail == user2.email && user1Data.partnerEmail == user2.email) {
// ...
// the endpoint deliver some of the user2 data to user1.
// ...
}

我看过云功能的文档:https://firebase.google.com/docs/reference/functions/providers_auth_

我已经看到,使用admin API,我们可以调用getUser:admin.auth((.getUser(uid(

我不清楚functions.auth((和admin.auth((之间的区别。我们可以在云函数中调用admin吗?

函数.auth((和admin.auth

从firebase函数导入functions时,得到的只是一个用于构建部署函数定义的SDK。它不做任何其他事情。无法使用functions访问用户数据。

当您从firebase admin导入admin时,您可以访问firebase admin SDK,该SDK可以在firebase Authentication中实际管理用户数据。您需要根据需要使用它来查找和修改用户,并且在云函数中运行代码时,它运行得很好。

我不清楚functions.auth((和admin.auth((之间的区别。我们可以在云函数中调用admin吗?

基本上functions.auth(),将允许您触发云功能以响应Firebase用户帐户的创建和删除。例如,您可以向刚刚在您的应用程序中创建帐户的用户发送欢迎电子邮件:

exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
// ...
});

functions.auth()来自云功能包:

// The Cloud Functions for Firebase SDK to create Cloud Functions and setup triggers.
const functions = require('firebase-functions');

使用上面的包,您可以预生成firestore、数据库或auth触发器,这些触发器将在数据库中创建数据或创建新用户时运行。。。


// The Firebase Admin SDK to access Cloud Firestore.
const admin = require('firebase-admin');
admin.initializeApp();

firebase admin-sdk用于从云功能内部的特权环境示例访问数据库。

检查以下链接:

https://firebase.google.com/docs/functions/use-cases

https://firebase.google.com/docs/functions/auth-events

https://firebase.google.com/docs/admin/setup

https://firebase.google.com/docs/functions/auth-events

相关内容

  • 没有找到相关文章

最新更新