Flask-jwt 认证成功后如何指定权限
Flask-jwt How DO I specify authorization after successful authentication
我正在使用 flask
、flask-jwt
和 flask-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 数据。
我正在使用 flask
、flask-jwt
和 flask-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 数据。