是否可以使用Firebase SDK中提到的云功能为用户设置自定义属性。在Firestore的文档中仅提及获取用户属性的代码。我可以通过firestore中的云函数设置用户属性。
引用的文档:https://firebase.google.com/docs/analytics/extend-with-functions
答案 0 :(得分:0)
是的,可以使用auth().updateUser模块的firebase-admin。
示例:
index.js
const admin = require('firebase-admin');
var serviceAccount = require("[ABSOLUTE_PATH_TO_API_KEY.JSON]");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://[PROJECT_ID].firebaseio.com"
});
var uid = '[AUTH_USER_UID]';
admin.auth().updateUser(uid, {
displayName: "New Name"
});
admin.auth().getUser(uid)
.then(function(userRecord) {
console.log("Successfully updated user data:", userRecord.toJSON());
process.exit(0);
});
package.json
{
"dependencies": {
"firebase-admin": "^6.5.1"
}
}
可以从Firebase控制台>项目设置>服务帐户中检索API密钥。
此逻辑可以在Firestore Cloud Function中实现。有关managing firebase users的更多信息。