Home / Function/ get_current_user() — fastapi Function Reference

get_current_user() — fastapi Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  fe006d19_3deb_24d7_dd0a_51dc00b3b2e7["get_current_user()"]
  b46332e9_4acb_e3b7_ca46_099c78466b55["tutorial005_py39.py"]
  fe006d19_3deb_24d7_dd0a_51dc00b3b2e7 -->|defined in| b46332e9_4acb_e3b7_ca46_099c78466b55
  c28b8e5b_af2c_fa11_1fe0_b3b068154551["get_user()"]
  fe006d19_3deb_24d7_dd0a_51dc00b3b2e7 -->|calls| c28b8e5b_af2c_fa11_1fe0_b3b068154551
  style fe006d19_3deb_24d7_dd0a_51dc00b3b2e7 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

docs_src/security/tutorial005_py39.py lines 105–137

async def get_current_user(
    security_scopes: SecurityScopes, token: str = Depends(oauth2_scheme)
):
    if security_scopes.scopes:
        authenticate_value = f'Bearer scope="{security_scopes.scope_str}"'
    else:
        authenticate_value = "Bearer"
    credentials_exception = HTTPException(
        status_code=status.HTTP_401_UNAUTHORIZED,
        detail="Could not validate credentials",
        headers={"WWW-Authenticate": authenticate_value},
    )
    try:
        payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
        username: str = payload.get("sub")
        if username is None:
            raise credentials_exception
        scope: str = payload.get("scope", "")
        token_scopes = scope.split(" ")
        token_data = TokenData(scopes=token_scopes, username=username)
    except (InvalidTokenError, ValidationError):
        raise credentials_exception
    user = get_user(fake_users_db, username=token_data.username)
    if user is None:
        raise credentials_exception
    for scope in security_scopes.scopes:
        if scope not in token_data.scopes:
            raise HTTPException(
                status_code=status.HTTP_401_UNAUTHORIZED,
                detail="Not enough permissions",
                headers={"WWW-Authenticate": authenticate_value},
            )
    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/tutorial005_py39.py.
Where is get_current_user() defined?
get_current_user() is defined in docs_src/security/tutorial005_py39.py at line 105.
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