auth2.py 575 B

1234567891011121314151617
  1. from fastapi import Depends, HTTPException, status
  2. from fastapi.security import OAuth2PasswordBearer
  3. from .oauth_token import verify_token
  4. from .schemas import TokenData
  5. oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
  6. def get_current_user(token: str = Depends(oauth2_scheme)):
  7. payload = verify_token(token)
  8. username: str = payload.get("sub")
  9. if username is None:
  10. raise HTTPException(
  11. status_code=status.HTTP_401_UNAUTHORIZED,
  12. detail="Invalid authentication credentials",
  13. )
  14. return TokenData(username=username)