Initial FastAPI admin auth scaffold
This commit is contained in:
16
app/middleware/admin/admin_token_middleware.py
Normal file
16
app/middleware/admin/admin_token_middleware.py
Normal 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
|
||||
Reference in New Issue
Block a user