google-cloud-firestore - Firestore(Angularfire)将用户添加为“管理员”
问题描述
我需要有一个为用户创建帐户的选项,并为他们提供帐户。所以帐户应该由某个公司的管理员创建,用户将使用该帐户登录,然后他们可以更改密码。
我找到了一种使用 Admin SDK 的解决方案,但如果我理解正确,您需要自己的后端。
还有其他方法吗?或者你有其他建议如何管理这个?基本上,假设用户与公司相关联。他在那家公司里有一个角色。公司管理员为每个用户选择角色。
解决方案
常见的方法是在可调用的云函数中使用 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;
}
}
推荐阅读
- sql - 用一个选择 sql 转置
- python - >= 在浮点数和字符串值之间的 TypeError
- flutter - 如何在返回特定屏幕之前调用方法
- reactjs - 如何在反应 dom 测试工具中等待一个元素?
- node.js - 预发布未在 npm install 中运行
- javascript - Firebase使用角度获取基于特定字段的文档集合
- python - 将 resize 替换为 cv2.INTER_AREA 等效模糊或其他内容
- php - 树行为使 lft 和 rght 为空
- swift - 在 MacOS 上使用 swift 使用 XPC 使用 IPC 的最简单客户端服务器示例代码
- c# - 从文本文件中选择随机行并统一显示