首页 > 解决方案 > 部署 ot 生产后如何在新的 firebase/firestore 应用程序中创建超级管理员?

问题描述

我的应用程序(尚未投入生产)有几种类型的帐户,例如典型用户、管理员和超级管理员。超级管理员和管理员的区别在于只有超级管理员才能创建普通管理员帐户(具有 httpcallable 功能并使用 setCustomUserClaims)。

如果我决定将我的应用程序部署到生产环境,我需要一个带有一个超级管理员帐户的空 Firestore 数据库。当然,我可以在 firebase 控制台中添加一个新帐户,但我不知道如何使用 setCustomUserClaims 创建该帐户。我不知道如何正确地做到这一点,因为部署 firebase 功能类似于

export const userOnCreate = functions.auth.user().onCreate(async (user, context) => {
  // some code

  if (user.email === 'xxx@example.com') {
   admin.auth().setCustomUserClaims(user.uid, { role: 'super_admin' });
  }
});

并在创建 super_admin 帐户后删除该代码是一个坏主意.. ;)

标签: firebasegoogle-cloud-functionsfirebase-security

解决方案


推荐阅读