我正在 nodejs (expressjs) 中创建一个网站,它将使用 firebase Admin Auth API来验证使用id-token-verification
.
然后,此令牌将保存到服务器会话中,用于从服务器查询实时数据库。
我的问题是关于限制权限,文档说databaseAuthVariableOverride
应该用来模仿用户使用他们的uid
如果您希望服务器模拟用户操作,例如以该用户身份访问 Firebase 实时数据库,则应首先验证并解码该用户的 ID 令牌。然后,使用 databaseAuthVariableOverride 选项来限制服务器的权限
所以对于每个用户:
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://databaseName.firebaseio.com",
databaseAuthVariableOverride: {
uid: userId1
}
}, userId1)
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://databaseName.firebaseio.com",
databaseAuthVariableOverride: {
uid: userId2
}
}, userId2)
为每个登录的用户初始化一个新的 firebaseApp 是否可行,或者是否有一种标准方法来处理多个用户的限制权限?