我用的是flask,flask-jwt和flask-restful。我可以获得access_token,但是一旦任何用户通过身份验证,他就可以使用REST端点对所有数据库表做任何事情,如果某个用户可以对数据库"one belongs to him for example"中的某些行/字段执行特定的操作,我如何实现授权。
我读过的所有文章都只提到了身份验证,但没有更进一步。
发布于 2018-04-21 08:18:31
我找到了一个解决方案,实际上jwt只是返回一个包含用户标识和其他信息的签名令牌,要查看令牌中包含的详细信息,可以使用以下网站:https://jwt.io/
使用烧瓶-jwt,有一个名为current_identity的对象,它可以在@jwt_required修饰的任何函数下获得,它必须首先导入:
from flask_jwt import jwt_required , current_identity
在我的示例中,current_identity返回试图通过API端点插入/更新数据的用户的id和名称。
使用某种逻辑来比较来自数据库的用户相关数据和他的id可以用于授权或禁止用户操作/读取数据。
https://stackoverflow.com/questions/49941458
复制相似问题