flask jwt路由器是一个python库,它向flask应用程序添加授权路由

flask-jwt-router的Python项目详细描述


PyPI version

烧瓶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})

作者

贡献

欢迎拉取请求。对于重大变更,请先打开一个问题来讨论您希望更改的内容。

请确保根据需要更新测试。

许可证

MIT

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaGWT:何时使用Lazydemelement?   Java中跟踪消失线程的多线程处理   java Springboot未能配置数据源:“url”,但我没有使用数据库   java为按钮生成随机位置   math Java:包含二项式系数计算的表达式   java通过AsyncTask传递参数   从路径错误创建java文件   高流量网站的性能播放框架、Java、Apache、PostgreSQL、JPA和Hibernate   java将4D矢量转换为长矢量   arraylist Java循环在没有任何错误的情况下终止   java正在制作一个计算器应用程序,希望在第二个片段中更新历史,但无法完成   java将信息从IntentService发送到Activity   java如何在游戏中插入大量实体!工作   javascript如何在ScriptEngineforJava中从数学中获得准确的结果?