智威汤逊的优缺点

时间:2020-08-25 16:57:28

标签: spring database rest web jwt

过去几天,我读到了有关JWT的文章,我完全理解了它背后的概念以及授权的作用,并且很及时。我的问题是,当CRUD端点就位时,JWT授权机制会发生什么?可以说我必须从向我发送包含JWT令牌的请求的特定用户中删除某个“任务”。我要做的就是进入数据库,检查用户是否属于该任务,然后从数据库中删除该任务。这导致2个数据库调用。现在我的问题是,对于包含CRUD操作且需要验证某些用户可以执行特定操作的端点,JWT真的那么强大吗?同样,即使我们不必这样做,我们仍然有1个数据库调用,这是CRUD操作。有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

最常见的模型是让后端在用户进行身份验证时将JWT令牌发送到前端。然后,此令牌将包含在后续请求中,服务器可以使用它来验证该请求确实来自登录用户。验证之后,服务器可以安全地进行数据库调用以执行更改或数据库操作。

您可能会考虑使用Zetabase(https://zetabase.io)之类的解决方案。这会自动为您提供JWT令牌和所有身份验证机制,以及一个约束系统,使您无需使用任何后端即可执行此处正在谈论的任务,您可以直接从后端完成前端。

换句话说,使用Zetabase或什至使用Firebase,您将完全跳过该中间层。数据库本身管理用户名,密码和身份验证,然后直接从前端对数据库进行调用。这之所以有效,是因为这两个数据库允许“约束”,以确保仅允许适当的用户执行某些操作。

相关问题