Skip to content

flask-jwt-extended

https://github.com/vimalloc/flask-jwt-extended

关于权限校验,采用 jwt + 自定义装饰实现。在 web 端中使用 localStore 实现。

如果对 jwt 不了解的,可以先看一下这篇文章:flask jwt 专题内容

初始化插件

python
from flask_jwt_extended import JWTManager

from pear_admin.orms.user import UserORM

jwt = JWTManager()


@jwt.user_identity_loader
def user_identity_lookup(user):
    return user.id


@jwt.user_lookup_loader
def user_lookup_callback(_jwt_header, jwt_data):
    identity = jwt_data["sub"]
    return UserORM.query.filter(UserORM.id == identity).one_or_none()
python
from flask import Flask

from .init_db import db, migrate
from .init_script import register_script
from .init_jwt import jwt  // [!code ++]


def register_extensions(app: Flask):
    db.init_app(app)
    migrate.init_app(app, db)
    jwt.init_app(app)  // [!code ++]

    register_script(app)