Flask-jwt 认证成功后如何指定权限

Flask-jwt How DO I specify authorization after successful authentication

我正在使用 flaskflask-jwtflask-restful。我可以获得 access_token ,但是一旦任何用户获得身份验证,他就可以使用 REST-API 端点对所有数据库表执行所有操作,我如何实现授权,让某些用户可以对某些 row/field 在数据库中 "one belongs to him for example".

我读过的所有文章都只谈论获得身份验证,但没有超越。

我找到了一个解决方案,实际上 jwt 只是 returns 一个包含用户身份和其他信息的签名令牌,要查看令牌中包含的详细信息,可以使用以下网站: https://jwt.io/

使用flask-jwt,有一个对象叫current_identity,可以在@jwt_required修饰的任意函数下获取,必须先导入:

from flask_jwt import jwt_required , current_identity

在我的例子中,

current_identity 返回了试图通过 API 端点 insert/update 数据的用户的 ID 和名称。

使用一些逻辑来比较数据库中与用户相关的数据和他的 ID 可用于授权或禁止用户访问 manipulating/reading 数据。