Firestore(Angularfire)将用户添加为“管理员”

问题描述 投票:0回答:1

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

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

还有其他方法吗?还是您有另一个建议来解决这个问题?基本上,假设用户链接到公司。他在那家公司中有一个角色。公司管理员为每个用户选择角色。

google-cloud-firestore angularfire
1个回答
0
投票

常见的方法是在可调用的云函数中使用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;
      }
    }

© www.soinside.com 2019 - 2024. All rights reserved.