feature: 初始化 jwt 插件

This commit is contained in:
zhengxinonly
2023-09-30 16:19:07 +08:00
parent bdd766d2b2
commit 8765b2c344
3 changed files with 21 additions and 0 deletions
+2
View File
@@ -1,6 +1,7 @@
from flask import Flask
from configs import config
from pear_admin.apis import register_apis
from pear_admin.extensions import register_extensions
from pear_admin.orms import UserORM
from pear_admin.views import register_views
@@ -12,6 +13,7 @@ def create_app(config_name="dev"):
app.config.from_object(config[config_name])
register_extensions(app)
register_apis(app)
register_views(app)
+3
View File
@@ -1,10 +1,13 @@
from flask import Flask
from .init_db import db, migrate
from .init_jwt import jwt
from .init_script import register_script
def register_extensions(app: Flask):
db.init_app(app)
migrate.init_app(app, db)
jwt.init_app(app)
register_script(app)
+16
View File
@@ -0,0 +1,16 @@
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_by(id=identity).one_or_none()