| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- """
- 认证依赖函数
- """
- from fastapi import Depends, HTTPException, Request
- from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
- from app.services.jwt_token import verify_and_refresh_token
- import logging
- logger = logging.getLogger(__name__)
- security = HTTPBearer()
- async def get_current_user_with_refresh(
- request: Request,
- credentials: HTTPAuthorizationCredentials = Depends(security),
- ) -> dict:
- token = credentials.credentials
- payload, new_token = verify_and_refresh_token(token)
- if not payload:
- raise HTTPException(status_code=401, detail="无效的访问令牌")
- if new_token:
- request.state.new_token = new_token
- return payload
- async def get_current_user(
- credentials: HTTPAuthorizationCredentials = Depends(security),
- ) -> dict:
- from app.services.jwt_token import verify_token
- token = credentials.credentials
- payload = verify_token(token)
- if not payload:
- raise HTTPException(status_code=401, detail="无效的访问令牌")
- return payload
|