如何将两个字符串值发送到特定的云函数。
下面是一个如何向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
});
其他需要注意的重要事项。。
- 您不需要在可调用的云函数中手动传递UID,您可以从上下文中获得它,如:
const uid = context.auth.uid;
Firebase Docs - 我会犹豫是否有一个简单的重写方法来更改用户密码,尽管你可以用firebase API来做
- 相反,我会考虑触发重置并使用firebase密码重置电子邮件流