Firebase身份验证何时进行自定义身份验证

Firebase身份验证何时进行自定义身份验证,firebase,jwt,firebase-authentication,firebase-security,Firebase,Jwt,Firebase Authentication,Firebase Security,我们决定使用Firebase作为我们的身份验证服务器,我的要求非常简单,在我现有的身份验证表中,我有一个作用域列,比如diff用户有diff作用域、Admin、users、Drivers等 1) 如何使用Firebase Auth实现这一点(因为他们不允许在用户表中存储任何其他内容) 2) 在我的服务器中,我有diff模块,(url)/admin/*/users/*等,我只想将用户限制在他们的模块中,使用自定义令牌,我将在生成的令牌本身中设置范围,这使得它很容易,我不做任何额外的数据库查询 3)

我们决定使用Firebase作为我们的身份验证服务器,我的要求非常简单,在我现有的身份验证表中,我有一个作用域列,比如diff用户有diff作用域、Admin、users、Drivers等

1) 如何使用Firebase Auth实现这一点(因为他们不允许在用户表中存储任何其他内容)

2) 在我的服务器中,我有diff模块,(url)/admin/*/users/*等,我只想将用户限制在他们的模块中,使用自定义令牌,我将在生成的令牌本身中设置范围,这使得它很容易,我不做任何额外的数据库查询

3) 我可以在没有自定义身份验证的情况下在Firebase身份验证令牌中添加额外声明吗,因为我不想使用自定义身份验证。

4) 我有两个不同的应用程序,一个用于管理员,一个用于用户,我可以在nodejs中有一个服务器(使用firebase sdk)来验证他们的firebase Conf JSON身份。


此外,我还想知道,在令牌本身中添加作用域是否是一种好的做法,如果不是的话,推荐的方法是什么。

我已经做了一个类似于您询问的想法的应用程序,下面是我所做的

1-我向数据库中的用户添加了一个子项,并将其称为用户类型,然后该类型可以是:Admin、Users、Drivers等

2-您有两种选择之一

使用应用程序时从数据库获取用户类型,以决定用户可以做什么和不能做什么,或者管理员可以做什么和不能做什么。 或者,你做了一项更艰巨的工作,创建了不同的视图,在登录时,你的应用程序将获取一次用户类型,然后将它们指向它们所属的视图层次结构,如你所见,我遵循了第二个选项

我不完全明白你的意思


4-可以,添加一个应用程序后,您可以选择添加更多应用程序。我有两个应用程序,但仍然可以选择添加更多应用程序。目前,Firebase Auth token中的额外声明仅通过自定义Auth支持。您不想使用自定义身份验证的主要原因是什么?

实际上,我选择Firebase身份验证的主要原因是为了避免在我这端使用IAM服务器。这很有意义。您希望通过什么方式让Firebase Auth server知道每个用户的声明?