【发布时间】:2019-12-09 18:59:51
【问题描述】:
尝试使用 Firebase 的管理 SDK 在 Firebase Cloud Functions 中设置自定义声明。问题似乎是我传递给函数的声明对象。我了解什么是圆形对象结构,但我不确定为什么会在这里发生。
错误:
这里是云功能代码
exports.setCustomClaims2 = functions.https.onCall((uid, claims) => {
return admin.auth().setCustomUserClaims(uid,claims).then(() => {
return {
message: `Success! User updated with claims`
}
})
.catch(err => {
return err;
})
});
这是调用它的前端代码:
let uid = "iNj5qkasMdYt43d1pnoEAIewWWC3";
let claims = {admin: true};
const setCustomClaims = firebase.functions().httpsCallable('setCustomClaims2');
setCustomClaims(uid,claims)
有趣的是,当我像这样直接在云函数调用中替换claims参数时
admin.auth().setCustomUserClaims(uid,{admin: true})
这似乎工作得很好。
对象作为参数被接收的方式有什么不同吗?
【问题讨论】:
标签: javascript node.js firebase google-cloud-functions firebase-admin