Home / Function/ get_current_user() — fastapi Function Reference

get_current_user() — fastapi Function Reference

Architecture documentation for the get_current_user() function in tutorial004_an_py39.py from the fastapi codebase.

Entity Profile

Dependency Diagram

graph TD
  d6577fea_dd09_3c11_7397_c71bbc922029["get_current_user()"]
  a0d50003_ad8f_7798_181e_649700fbd058["tutorial004_an_py39.py"]
  d6577fea_dd09_3c11_7397_c71bbc922029 -->|defined in| a0d50003_ad8f_7798_181e_649700fbd058
  d8392cfc_89bd_935c_b420_b42049d6c2fc["get_user()"]
  d6577fea_dd09_3c11_7397_c71bbc922029 -->|calls| d8392cfc_89bd_935c_b420_b42049d6c2fc
  style d6577fea_dd09_3c11_7397_c71bbc922029 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

docs_src/security/tutorial004_an_py39.py lines 90–107

async def get_current_user(token: Annotated[str, Depends(oauth2_scheme)]):
    credentials_exception = HTTPException(
        status_code=status.HTTP_401_UNAUTHORIZED,
        detail="Could not validate credentials",
        headers={"WWW-Authenticate": "Bearer"},
    )
    try:
        payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
        username = payload.get("sub")
        if username is None:
            raise credentials_exception
        token_data = TokenData(username=username)
    except InvalidTokenError:
        raise credentials_exception
    user = get_user(fake_users_db, username=token_data.username)
    if user is None:
        raise credentials_exception
    return user

Domain

Subdomains

Calls

Frequently Asked Questions

What does get_current_user() do?
get_current_user() is a function in the fastapi codebase, defined in docs_src/security/tutorial004_an_py39.py.
Where is get_current_user() defined?
get_current_user() is defined in docs_src/security/tutorial004_an_py39.py at line 90.
What does get_current_user() call?
get_current_user() calls 1 function(s): get_user.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free