如何使用Firestore云功能设置用户属性?

时间:2019-01-18 16:20:16

标签: firebase google-cloud-platform firebase-authentication google-cloud-firestore google-cloud-functions

是否可以使用Firebase SDK中提到的云功能为用户设置自定义属性。在Firestore的文档中仅提及获取用户属性的代码。我可以通过firestore中的云函数设置用户属性。

引用的文档:https://firebase.google.com/docs/analytics/extend-with-functions

1 个答案:

答案 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的更多信息。