Javascript 为无服务器firebase应用程序的用户分配角色
我在React中有一个使用firebase firestore的无服务器应用程序 应用程序以编程方式创建新用户,并将数据添加到与新创建的用户id同名的文档中Javascript 为无服务器firebase应用程序的用户分配角色,javascript,firebase,google-cloud-firestore,firebase-authentication,user-roles,Javascript,Firebase,Google Cloud Firestore,Firebase Authentication,User Roles,我在React中有一个使用firebase firestore的无服务器应用程序 应用程序以编程方式创建新用户,并将数据添加到与新创建的用户id同名的文档中 firebase.auth().createUserWithEmailAndPassword( customerEmail.current.value, customerPassword ).then(function(user) { console.log("UID!!!!!!!!
firebase.auth().createUserWithEmailAndPassword(
customerEmail.current.value,
customerPassword
).then(function(user) {
console.log("UID!!!!!!!!!!!!!!!!!!!!!!!", user, user.user.uid)
firebase
.firestore()
.collection('sessions')
.doc(user.user.uid).set(
{...context.state}
).then(() => {
console.log("DATA SAVED SUCCESSFULLY!")
})
})
接下来,我想在创建这些用户时分配角色
我真的很想使用AdminSDK为这些用户分配自定义声明-在保持无服务器的情况下,有没有办法做到这一点
如果没有,有什么替代方案?您确实需要使用AdminSDK来实现这一点 如中所述,“应通过Firebase Admin SDK从特权服务器环境设置自定义声明” “特权服务器环境”指的是您完全控制的服务器或Firebase项目中运行后端代码的云功能(您也可以控制,因为它在您自己的项目中) 是“一个无服务器的框架,允许您自动运行后端代码以响应Firebase功能触发的事件” 例如,对于Admin Node.js SDK,您只需调用该方法,传递用户的
uid
,以及定义要设置的声明的对象
在您的情况下,您最有可能在用户创建时触发云函数,请参阅相应的云函数
对于要分配的角色类型,您没有给出很多详细信息。如果存在不同的可能角色,您将需要一种方法来决定将哪些角色分配给哪个用户
您可能会对我在“如何创建管理用户访问和角色的管理模块”中写的以下内容感兴趣那么我需要创建web服务器吗?AdminSDK似乎无法与React一起使用?我无法解析“http2”不,您不需要创建web或应用程序服务器。如上所述,所有这些都可以通过“一个无服务器框架来完成,该框架允许您自动运行后端代码以响应Firebase功能触发的事件”