获取和检查用户权限的有效方法?

问题描述 投票:0回答:1

我正在为 React 应用程序构建无服务器 api。

这就是我通过权限保护 api 的方法:

  1. 用户登录并获得 jwt 令牌
  2. 当访问任何 api 时,令牌会在 Authorization header 中发送
  3. api验证token,如果有效,获取用户权限,并与api所需的权限进行比较
  4. 如果成功,处理请求并返回结果
  5. 如果没有权限匹配,则返回401/403

这可行,但是每次用户发送请求时,我都必须从数据库读取权限。

由于我使用

Firestore
来存储用户信息,这将创建许多读取操作。

有没有更有效的方法来实现这一目标?

firebase google-cloud-firestore firebase-authentication
1个回答
0
投票

缓存您认为将来可能重复的任何数据库查询的结果(在内存中)。

您必须弄清楚为此允许多少内存,以及何时使缓存过期,以便权限的更改能够准确地反映在未来的调用中。这些细节很难正确处理,而且您最好一开始就不要缓存。但是如果没有缓存,您就无法避免每次调用都查询数据库(这并不像您想象的那么糟糕)。性能与准确性和复杂性之间总是需要权衡。

© www.soinside.com 2019 - 2024. All rights reserved.