【问题标题】:Firestore (Angularfire) add user as an "admin"Firestore(Angularfire)将用户添加为“管理员”
【发布时间】:2019-11-02 19:01:04
【问题描述】:

我需要有一个为用户创建帐户的选项,并为他们提供帐户。所以帐号应该由某公司的管理员创建,用户使用该帐号登录,然后他们可以更改密码。

我找到了一种解决方案,with Admin SDK,但如果我理解正确,您需要自己的后端。

还有其他方法吗?或者你有其他建议如何管理这个?基本上,假设用户与公司相关联。他在那家公司里有一个角色。公司管理员为每个用户选择角色。

【问题讨论】:

  • 我想这取决于写 Cloud Functions 是否算作“你自己的后端”。
  • 你为什么说你自己的后端......?
  • 我的意思是我必须拥有自己的 node.js 或其他代码?

标签: google-cloud-firestore angularfire


【解决方案1】:

常用的方法是在可调用的云函数中使用 Admin SDK 来执行此操作。这很简单。

如果您在创建用户时从前端执行此操作,则管理员用户将退出,新用户已登录。

但是,通过使用如下所示的辅助 Firebase 应用程序,可以从前端执行此操作而无需注销。

import * as firebase from 'firebase/app';
const secondaryApp = firebase.initializeApp(environment.firebase, 'Secondary');

async registerUser(email, password: string) {
      try {
        const userCredential = await secondaryApp.auth().createUserWithEmailAndPassword(email, password)
        secondaryApp.auth().signOut(); // signout the user that was just created
        // If you wanted to create a document for the user in firestore then you could do it here.
        return userCredential;
      } catch (err) {
        throw err;
      }
    }

【讨论】:

    猜你喜欢
    • 2018-08-03
    • 2011-07-10
    • 1970-01-01
    • 2016-07-05
    • 2018-12-24
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多