具有多个参数的Firebase onCall函数



如何将两个字符串值发送到特定的云函数。

下面是一个如何向onCall函数发送一个字符串的示例。

index.jsonCall((云函数

exports.updateUserPassword = functions.https.onCall((data, context) => {
const uid = data.text;
});

authentication.js在项目根目录中(调用onCall云函数(

var updateUserPassword  = firebase.functions().httpsCallable('updateUserPassword ');
updateUserPassword({text: uid}).then(function(result) {
var userProperties = result.data.userData;
var successfulPasswordChange = userProperties.uid;
})

如何实现发送和接收第二个字符串值的方法。

假设需要在调用函数中进行修改。

({text: uid}) //ex psuedo {text: uid, text: password}

以及如何使用在onCall((函数中检索它

var uid = data.text;
var password = data.text;

我认为您可以向函数发送什么以及该对象的外观有些混乱。

您发送的任何数据都将在一个对象中,您不受data.text的约束,您可以将任何JSON对象作为data传递所以你的例子:

var myData = {
uid: "12345",
newPassword: "one2three4",
favoriteColor: "blue"
}
updateUserPassword(myData).then(function(result) {
// ...
})

然后在您的功能中:

exports.updatePassword = functions.https.onCall((data, context) => {
var newPassword = data.newPassword;
var uid = data.uid;
var favoriteColor = data.favoriteColor;
// ... do whatever
});

其他需要注意的重要事项。。

  1. 您不需要在可调用的云函数中手动传递UID,您可以从上下文中获得它,如:const uid = context.auth.uid;Firebase Docs
  2. 我会犹豫是否有一个简单的重写方法来更改用户密码,尽管你可以用firebase API来做
  3. 相反,我会考虑触发重置并使用firebase密码重置电子邮件流

相关内容

  • 没有找到相关文章

最新更新