Initial FastAPI admin auth scaffold

This commit is contained in:
2026-06-05 17:10:30 +08:00
commit 5635da9ea5
65 changed files with 1407 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
from fastapi import Request
from app.common.context import current_admin_id
from app.lib.jwt.jwt import Jwt
from app.lib.jwt.token import JwtToken
from app.middleware.token.abstract_token_middleware import AbstractTokenMiddleware
class AdminTokenMiddleware(AbstractTokenMiddleware):
async def parser_token(self, jwt: Jwt, raw_token: str) -> JwtToken:
return await jwt.parser_access_token(raw_token)
def set_context(self, request: Request, token: JwtToken) -> None:
admin_id = token.admin_id
current_admin_id.set(admin_id)
request.state.current_admin_id = admin_id