【发布时间】:2025-12-22 22:30:11
【问题描述】:
我正在使用基于 JWT 令牌的身份验证来验证我向移动应用程序公开的 REST API。我有一个登录 API,用户将在其中访问并获取 JWT 作为响应。应用程序必须对其余请求使用 JWT 令牌。在开发过程中遇到的一个问题是。
一旦我给用户一个身份验证令牌,他就可以访问其余的 API。
使用 JWT 令牌 T1 的用户 1 尝试访问用户 2 的资源在我当前的设计中是可能的,这是我系统中的一个缺陷.在每个请求上,我是否必须检查令牌中的用户 ID 和请求进程的用户 ID 是否匹配,然后继续?或者有没有更好的方法来处理这个问题?
我正在使用带有 dingo rest 和 JWT lib 的 laravel 框架。
更新
例如:
作为个人,我从应用程序中获得了端点。我登录并收到了我的 jwt 令牌,该令牌将在我的其余资源中有效。现在要获取我使用不同用户 ID 添加的产品列表。我可以这样做
标头中的我的 JWT 令牌
GET /products/3 and 3 is not my user id!
在这种情况下,我只是验证一个 jwt 令牌,它将验证它并以不是 MINE 的资源响应!
【问题讨论】:
-
你可以使用 Laravel 的新 Gate/Auth 系统来做到这一点。 laravel.com/docs/5.1/authorization
标签: php json rest laravel authentication