flask jwt路由器是一个python库,它向flask应用程序添加授权路由
flask-jwt-router的Python项目详细描述
烧瓶JWT路由器
flask jwt路由器是一个python库,它向flask应用程序添加授权路由。
在这里阅读文档:Flask-JWT-Router
安装
pip install flask-jwt-router
基本用法
fromflaskimportFlaskfromflask_jwt_routerimportJwtRoutesapp=Flask(__name__)JwtRoutes(app)
白名单路线
app.config["WHITE_LIST_ROUTES"]=[("POST","/register"),]@app.route("/register",methods=["POST"])defregister():return"I don't need authorizing!"
声明实体模型
# Create your entity model (example uses Flask-SqlAlchemy)classUserModel(db.Model):id=db.Column(db.Integer,primary_key=True)name=db.Column(db.String)# You can define the primary key name with `ENTITY_KEY` on Flask's configapp.config["ENTITY_KEY"]="user_id"# (`id` is used by default)JwtRoutes(app,entity_model=UserModel)
授权
fromflask_jwt_routerimportRouteHelpersrh=RouteHelpers(app)# white list the routesapp.config["WHITE_LIST_ROUTES"]=[("POST","/register"),("POST","/login"),]@app.route("/register",methods=["POST"])defregister():"""I'm registering a new user & returning a token!"""returnjsonify({"token":rh.register_entity(entity_id=1)})@app.route("/login",methods=["POST"])deflogin():"""I'm authorized & updating my token!"""returnjsonify({"token":rh.update_entity(entity_id=1)})
访问Flask全局上下文中的实体
# Example uses Marshmallow to serialize entity objectclassEntitySchema(Schema):id=fields.Integer()name=fields.String()@app.route("/user",methods=["GET"])defget_user():"""I was authorized & i have a user!"""entity=EntitySchema().dumps(g.entity).datareturnjsonify({"entity":entity})
作者
- joegasewicz-初始工作-@joegasewicz
贡献
欢迎拉取请求。对于重大变更,请先打开一个问题来讨论您希望更改的内容。
请确保根据需要更新测试。