【发布时间】:2018-10-02 03:31:05
【问题描述】:
我正在构建一个使用 Firebase、Firebase JavaScript SDK、Firebase 身份验证服务和实时数据库来实现持久性的客户端。
根据许多不同的来源,我的身份验证部分运行良好,但我发现授权选项有限,我认为这是一种有效的解决方案。
我想要要做的是将role: 'admin' 的单个键/值附加到用户的身份验证记录中,这样我就可以通过对 Firebase 的一次基于客户端的调用来执行身份验证和授权后端。
我已经阅读了有关将自定义声明附加到 Firebase 身份验证记录的信息,但我只看到有人使用 Firebase 管理库(后端)来设置令牌和解析令牌。如果可以的话,我正在尝试不通过 Firebase 函数或自定义 Express 服务器添加额外的调用。
向 RTDB 添加单独的用户配置文件记录很容易,我可以将身份验证数据存储在那里。但是,这将始终需要同时调用身份验证和授权,这又一次看起来非常低效并且排除了客户端的安全脱机使用(如果 RTDB 上的角色发生变化)。
进行基于客户端的身份验证调用,然后强制执行第二次基于客户端的调用以从可以实现 Firebase 管理员的 Firebase 函数(或任何其他后端服务)检索授权数据似乎效率低下图书馆。
主要问题:有没有办法使用 JavaScript 来实现从 Firebase 身份验证服务设置/检索身份验证和授权数据的目标,只需向后端发出一个请求并在客户端进行处理?
【问题讨论】:
标签: javascript firebase firebase-authentication firebase-admin