我正在尝试使用Firebase实现一个角色系统,至少我是在我的数据库中创建一个集合并比较实际的uid与表格(或多或少)。
但我的问题是,是否可以在Firebase用户对象中设置任何属性,例如role: 'foo'
。这更像是一个理论问题。
假设我以编程方式创建用户,例如:
this.af.auth.createUser({ 'email': email, 'password': password })
.then(createdUser => {
...
createdUser['role'] = foo;
...... // How can I update the Firebase users database with this new user?
})
.catch(err => console.log(err));
我正在四处寻找答案但没有出现。有谁可以给我一些帮助?
谢谢!
答案 0 :(得分:1)
将此类角色添加到用户对象的唯一安全方法是使用http://docs.rstudio.com/shinyapps.io/applications.html#application-life-cycle,您可以在其中完全控制用户JWT的内容。
大多数开发人员采用替代路线,他们在Firebase数据库中存储有关其用户和角色的信息,然后custom authentication。我建议您阅读此secure data access through security rules和部分blog post about implementing group security。