Files
gsfdc/server/app/core/deps.py
T

27 lines
884 B
Python

from fastapi import Depends
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
from app.core.security import decode_access_token
bearer = HTTPBearer(auto_error=False)
async def require_staff(
credentials: HTTPAuthorizationCredentials | None = Depends(bearer),
) -> dict:
if credentials is None:
from fastapi import HTTPException, status
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="请先登录")
return decode_access_token(credentials.credentials, "staff")
async def require_member(
credentials: HTTPAuthorizationCredentials | None = Depends(bearer),
) -> dict:
if credentials is None:
from fastapi import HTTPException, status
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="请先登录")
return decode_access_token(credentials.credentials, "member")